发信人: michaelzeng163(杂役)
整理人: wenbobo(2003-08-23 10:55:06), 站内信件
|
#include "windows.h"
#include "Winuser.h"
#include <cstdio>
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("\n[Ó÷¨] sendC ½ø³ÌID ÃüÁî²ÎÊý");
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;
}
【 在 mingle_qin 的大作中提到:】
:用那几个API函数,但在VC中搞不定,能给出完整代码吗?
:......
|
|