프로그래밍/c++
프로세스ID, 윈도우 핸들 컨트롤
GaePein
2013. 4. 26. 11:35
//----------------------------------------------
// 윈도우 핸들로 프로세스 아이디 얻기
//----------------------------------------------
ULONG ProcIDFromWnd(HWND hwnd)
{
ULONG idProc;
GetWindowThreadProcessId( hwnd, &idProc );
return idProc;
}
//----------------------------------------------
// 프로세스 아이디로 윈도우 핸들 얻기
//----------------------------------------------
HWND GetWinHandle(ULONG pid)
{
HWND tempHwnd = FindWindow(NULL,NULL); // 최상위 윈도우 핸들 찾기
while( tempHwnd != NULL )
{
if( GetParent(tempHwnd) == NULL ) // 최상위 핸들인지 체크, 버튼 등도 핸들을 가질 수 있으므로 무시하기 위해
if( pid == ProcIDFromWnd(tempHwnd) )
return tempHwnd;
tempHwnd = GetWindow(tempHwnd, GW_HWNDNEXT); // 다음 윈도우 핸들 찾기
}
return NULL;
}