Возникла проблема — у меня есть приложение, о котором я знаю только то, какими горячими клавишами оно управляется, ни коммандной строки, ничего. необходимо включить его функциональность в мой проект. Подскажите, каким образом можно управлять приложением по hot keys?
Извини, времени нет, могу дать только лишь идею, если у самого не возникала.
Находишь окно приложения и шлёш ему сообщения типа WM_KEYDOWN с параметрами нужных клавишь.
Здравствуйте, Katrin, Вы писали:
K>Возникла проблема — у меня есть приложение, о котором я знаю только то, какими горячими клавишами оно управляется, ни коммандной строки, ничего. необходимо включить его функциональность в мой проект. Подскажите, каким образом можно управлять приложением по hot keys?
Эта проблема решилась копанием в сторону WM_COMMAND. Спасибо большое за подсказки.
Но возникла другая проблема — приложение я запускаю сама, при помощи ShellExecute. Но мне необходимо дождаться его окончания, чтобы после этого сразу же обратиться к окну. Ставить таймер не хочется, а найти бы функцию аналогичную WaitForInputIdle, которая отлично работает вместе с CreateProcess, пока не получилось. Может быть вы знаете как установить ожидание в этом случае.
Конечно было бы здорово просто использовать CreateProcess, но мое приложение пишется на PowerBuilder и вызвать оттуда WinAPI-шную функцию CreateProcess не получается — в этой штуке нету возможности описать новый тип, а передать параметром ProcessInformation например как Any у меня не получается — выдает ошибку "bad runtime function". Коненчо это уже не столько обсуждение WinAPI, сколько тонкостей преобразования его комманд. Но вдруг кто с этим сталкивался, помогите плиз
Здравствуйте, Katrin, Вы писали:
K>Здравствуйте, BlackBox, Вы писали:
[skip]
Вместо ShellExecute можно использовать ShellExecuteEx — она возвращает Handle процесса.
Я не знаток PowerBuilder, так что могу дать лишь пару ссылок, посмотри там: