Целевое приложение написано на Delphi (win32 не .NET) и имеет закрытый исходный код.
Действие, которое я хочу вызвать, называется Копировать, но очевидного сочетания клавиш не существует. (Ctrl + Insert делает не то, а Ctrl + C ничего не делает)
Я могу найти свою цель HWND
и убедить ее открыть контекстное меню (оно отвечает WM_RBUTTONDOWN/UP
, а не WM_CONTEXTMENU
). Из меню HWND
я могу даже получить дескриптор меню через MN_GETHMENU
и найти нужный пункт меню. Я просто не знаю деталей того, как «выбрать» предмет. Не помогает, что меню "немодальное", т.е. его HWND
не принадлежит, поэтому я не знаю, какое из многих скрытых TPUtilWindow
окон является реальным владельцем - в противном случае я мог бы просто отправить ему WM_COMMAND
и даже не открыть меню, которое было бы предпочтительным .
Хотя я уверен, что это облегчает все виды взломов, я бы предпочел не внедрять код в целевой процесс.
Ответы принимаются на любом языке.