分类:
2008-09-17 11:18:34
#include "windows.h"
#include "Winuser.h"
#include
WORD g_pid = 0;
WORD g_cm = 0;
BOOL g_bFound = FALSE;
BOOL g_bDone = FALSE;
BOOL CALLBACK EnumWindowsProc( HWND hwnd, LPARAM lParam );
int main(int argc, char* argv[])
{
if(argc < 3)
{
printf("\nerror");
return -1;
}
g_pid = (WORD)atol(argv[1]);
g_cm = (WORD)atol(argv[2]);
EnumWindows(EnumWindowsProc , 0); //枚举窗口
if(g_bFound)printf("Window Found!\n");
else printf("Window Not Found!\n");
if(g_bDone)printf("PostMessage Done!");
else printf("PostMessage Failed!");
return 0;
}
BOOL CALLBACK EnumWindowsProc( HWND hwnd, LPARAM lParam )
{
//这里是我写的处理程序, 可以改成你想要的
if(::IsWindow(hwnd))
{
DWORD dwProcessId;
GetWindowThreadProcessId(hwnd,&dwProcessId);
if (dwProcessId == g_pid)
{
if(::PostMessage(hwnd, WM_COMMAND, g_cm, 0))g_bDone = TRUE;
g_bFound = TRUE;
}
}
return TRUE;
}
//我最近要用这个就找了个,,分享一下