Я хочу отправить некоторое нажатие клавиши во внешнее приложение, и оно работает нормально, но когда я пытаюсь отправить нажатие клавиши в дочернее окно того же внешнего приложения, по какой-то причине это не работает, поэтому мне нужна помощь.Допустим, мы хотим напечатать текст из буфера обмена из блокнота и сделать это за один шаг.Код, который будет выглядеть следующим образом.
#include <windows.h>
#include <stdio.h>
#include <iostream.h>
using namespace std;
int main(int argc, char* argv[]){
WinExec("notepad", 1);
Sleep(1000);
HWND handle = FindWindow("notepad",0); // it's handling as well
SetForegroundWindow(handle);
keybd_event(VK_CONTROL, 0, 0, 0); // simulate CTRL down
keybd_event(VkKeyScan('V'), 0, 0, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
Sleep(500);
keybd_event(VK_CONTROL, 0, 0, 0); // simulate CTRL down
keybd_event(VkKeyScan('P'), 0, 0, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0); // simulate CTRL up
Sleep(1000);
HWND handle1 = FindWindow(0, "Print"); // it wann't find "Print" window
SetForegroundWindow(handle1);
keybd_event(VK_MENU, 0, 0, 0); // simulate ALT down
keybd_event(VkKeyScan('P'), 0, 0, 0);
keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0);
return 0;
}
Но он хочет отправить ALT + P в окно «Печать», почему?Конечная цель состоит в том, чтобы сделать небольшой макрос, который отправляет в keystorkes приложения (в любом дочернем или родительском Windows). ОС: WIN 7 64bit