窗口、窗口进程、窗口线程。我只想获得激活窗口的进程!
想做一个程序的功能如下:获取当前窗口的进程,然后找出进程的路径。
也就是找到激活窗口对应的EXE的路径。
目前已知的方法有
程序代码:
[DllImport("user32.dll")] public static extern IntPtr GetForegroundWindow(); //此方法有问题,我用FindWindow()用窗口名找某个窗口出的句柄ID(正确的)和这个GetForegroundWindow()找出的句柄ID(较长,我用sleep(2000)的时间已经正确激活了窗口),两者不一样。 [DllImport("user32.dll")] static extern uint GetWindowThreadProcessId(IntPtr hWnd, IntPtr ProcessId);//第二个参数可以用IntPtr.0 //这个也有问题,传入FindWindow()正确获得的窗口句柄,返回的也不知道是个跟实际进程很近的ID,推测是线程的ID,下一步改怎么走?
请教下GetForegroundWindow()为何获得错误的句柄ID。
或者实现“获得激活窗口对应的EXE的路径”的方法。谢谢!
[ 本帖最后由 lkwudi222 于 2009-11-19 23:14 编辑 ]