BOOL CALLBACK EnumWindowsProc( HWND hwnd, LPARAM lParam
)
{
DWORD dwID ; GetWindowThreadProcessId(hwnd, &dwID) ; if(dwID == (DWORD)lParam)
{
::PostMessage(hwnd,0x1000,0,0);
return FALSE;
} return TRUE ;
};//...
STARTUPINFO si;
PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
// Start the child process.
if( !CreateProcess( NULL,
"text.exe", // Command line.
NULL,
NULL,
FALSE,
0,
NULL,
NULL,
&si,
&pi )
)
{
// AfxMessageBox("Error");
return;
}
Sleep(1000);
EnumWindows((WNDENUMPROC)EnumWindowsProc,pi.dwProcessId);因我要向该进程SendMessage,所以我想遍历窗口,通过该进程的ID来获得该窗口的HWND,不使用FindWindow,因为有可能会有许多个该进程窗口.
可是获取不到,不知道错在了哪里
)
{
DWORD dwID ; GetWindowThreadProcessId(hwnd, &dwID) ; if(dwID == (DWORD)lParam)
{
::PostMessage(hwnd,0x1000,0,0);
return FALSE;
} return TRUE ;
};//...
STARTUPINFO si;
PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
// Start the child process.
if( !CreateProcess( NULL,
"text.exe", // Command line.
NULL,
NULL,
FALSE,
0,
NULL,
NULL,
&si,
&pi )
)
{
// AfxMessageBox("Error");
return;
}
Sleep(1000);
EnumWindows((WNDENUMPROC)EnumWindowsProc,pi.dwProcessId);因我要向该进程SendMessage,所以我想遍历窗口,通过该进程的ID来获得该窗口的HWND,不使用FindWindow,因为有可能会有许多个该进程窗口.
可是获取不到,不知道错在了哪里
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货