/// <summary>
/// 检索包含指定模块的文件的完全限定路径。该模块必须已由当前进程加载。
/// </summary>
/// <param name="hModule"></param>
/// <param name="lpFilename"></param>
/// <param name="nSize"></param>
/// <returns></returns>
[DllImport("kernel32.dll", SetLastError = true)][PreserveSig] private static extern uint GetModuleFileName([In] IntPtr hModule, [Out] StringBuilder lpFilename, [In][MarshalAs(UnmanagedType.U4)] int nSize);
/// <summary>
/// 检索包含指定模块的文件的完全限定路径。该模块必须已由当前进程加载。
/// </summary>
/// <param name="hModule"><see cref="IntPtr.Zero"/> 显示主程序</param>
/// <returns></returns>
public static string GetModuleFileName(IntPtr hModule) {
StringBuilder fileName = new(255);
_ = GetModuleFileName(hModule, fileName, 255);
return fileName.ToString();
}
GetModuleFileName(IntPtr.Zero);