我有一个属于系统中另一个进程的控件的句柄 我怎样才能获得它所属的流程?我试过找一个合适的功能,但没找到多少。
答案 0 :(得分:6)
我认为通过“控制句柄”,你的意思是HWND。
HWND hWndToSomeControl;
[...]
DWORD dwPid;
GetWindowThreadProcessId( hWndToSomeControl, &dwPid );
编辑:错误控制(在Windows 7上测试):
HWND hWndToSomeControl;
[...]
DWORD dwPid;
DWORD dwTid = GetWindowThreadProcessId( hWndToSomeControl, &dwPid );
if ( dwTid == 0 ) {
DWORD dwLE = GetLastError(); // may be 1400 ERROR_INVALID_WINDOW_HANDLE
[...]
}