我使用以下代码通过句柄获取路径/文件名:
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
private static extern int GetWindowThreadProcessId(IntPtr handle, out uint processId);
public static string GetProcessPath(IntPtr hwnd)
{
uint pid = 0;
GetWindowThreadProcessId(hwnd, out pid);
Process proc = Process.GetProcessById((int)pid);
return proc.MainModule.FileName.ToString();
}
在32位系统上运行良好,但在64位系统上出现错误:“只有部分ReadProcessMemory或WriteProcessMemory请求已完成。”项目编译为x86(平台目标x86)。
我该如何解决?
~谢谢Ron