1
Я открыл процесс, используя CreateProcess так:Отправить Enter Нажмите для активных окон в WinAPI
CreateProcess(NULL,"C:\\Program Files (x86)\\Microsoft Office\\OFFICE11\\PPTVIEW.EXE C:\\Users\\DRILON\\Desktop\\a.pps",NULL,NULL,FALSE,0,NULL,NULL,&sai,&pi);
Как вы можете видеть, этот процесс открывает файл PPs. Теперь я хочу отправить и ввести ключевое нажатие на презентацию (которая изменит слайды). Я пробовал много кодов, но никто не работает. Я пробовал:
HWND powerpoint = GetActiveWindow();
PostMessage(powerpoint, WM_KEYDOWN, VK_RETURN, 0);
Также
SendMessage(powerpoint, WM_KEYDOWN, VkKeyScan('c'), 1);
Есть ли способ сделать это?
Я решил проблему. Тот, кто сталкивается с той же проблемой, то вот ответ. keybd_event (VK_RETURN, 0x9C, 0, 0); Это отправляет команду keydown в активные widnwos. – Panarit
Нажатие клавиши не является ни одним сообщением. Это два сообщения, и вы не отправляете самое важное сообщение WM_KEYUP. –
Как правило, SendInput() предпочтительнее, чем keybd_event(). –