我有一个记事本,它有一个PID:2860
#include <iostream>
#include <windows.h>
#include <psapi.h>
using namespace std;
HWND SendIt (DWORD dwProcessID){
HWND hwnd = NULL;
do {
hwnd = FindWindowEx(NULL, hwnd, NULL, NULL);
DWORD dwPID = 0;
GetWindowThreadProcessId(hwnd, &dwPID);
if (dwPID == dwProcessID) {
cout<<"yay:"<<hwnd<<":pid:"<<dwPID<<endl;//debug
PostMessage(hwnd,WM_KEYDOWN,'A',1); //send
}
} while (hwnd != 0);
return hwnd; //Ignore that
}
int main()
{
SendIt(2680); //notepad ID
return 0;
}
记事本应该将A
写入其中,但没有任何反应。
我尝试在上面使用WM_DESTROY
消息,它可以运行,但WM_KEYDOWN
无法正常工作。
我还执行了GetLastError()
并输出错误信息2 ERROR_FILE_NOT_FOUND
。
为什么无法正常工作,是否有可能修复它?