Вы можете SendMessage
к любому окну, которое вы хотите, даже на других процессах.Вы даже можете использовать HWND_BROADCAST
, чтобы отправить его в каждое окно уровня системы.Но это то, что вы действительно хотите?Если вас интересует только конкретная программа, вы можете получить дескриптор ее окна, используя FindWindow , а затем отправить сообщение только этому окну.
Обратите внимание, что если все, что вы хотите сделатьэто простая инъекция клавиш в другой процесс, тогда SendInput
действительно путь.Если вы хотите отправить глобальное сочетание клавиш, не имеет значения, кто в фокусе.Если вы хотите отправить один и тот же вход более чем в одно окно, используя SendInput
, вам придется циклически перебирать список окон, и для каждого окна сначала установить фокус, а затем отправить вход.