我有一个 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
。
为什么这不起作用,是否可以修复它?