hot keys
От: Katrin  
Дата: 06.10.03 07:49
Оценка:
Возникла проблема — у меня есть приложение, о котором я знаю только то, какими горячими клавишами оно управляется, ни коммандной строки, ничего. необходимо включить его функциональность в мой проект. Подскажите, каким образом можно управлять приложением по hot keys?
Re: hot keys
От: rastoman  
Дата: 07.10.03 20:29
Оценка:
Извини, времени нет, могу дать только лишь идею, если у самого не возникала.
Находишь окно приложения и шлёш ему сообщения типа WM_KEYDOWN с параметрами нужных клавишь.
... << RSDN@Home 1.1 beta 2 >>
Re: hot keys
От: BlackBox Россия ---
Дата: 09.10.03 06:14
Оценка:
Здравствуйте, Katrin, Вы писали:

K>Возникла проблема — у меня есть приложение, о котором я знаю только то, какими горячими клавишами оно управляется, ни коммандной строки, ничего. необходимо включить его функциональность в мой проект. Подскажите, каким образом можно управлять приложением по hot keys?


Копать в сторону WM_HOTKEY.

Например:

int main()
{
  HWND hwnd = FindWindow(...);

  if (hwnd != NULL)
  {
    DWORD key = VK_F1; key <<= 16;
    PostMessage(hwnd, WM_HOTKEY, 0, key);
  }
  return 0;
}
Re[2]: hot keys
От: Katrin  
Дата: 09.10.03 07:33
Оценка:
Здравствуйте, BlackBox, Вы писали:


BB>Копать в сторону WM_HOTKEY.


Эта проблема решилась копанием в сторону WM_COMMAND. Спасибо большое за подсказки.
Но возникла другая проблема — приложение я запускаю сама, при помощи ShellExecute. Но мне необходимо дождаться его окончания, чтобы после этого сразу же обратиться к окну. Ставить таймер не хочется, а найти бы функцию аналогичную WaitForInputIdle, которая отлично работает вместе с CreateProcess, пока не получилось. Может быть вы знаете как установить ожидание в этом случае.
Конечно было бы здорово просто использовать CreateProcess, но мое приложение пишется на PowerBuilder и вызвать оттуда WinAPI-шную функцию CreateProcess не получается — в этой штуке нету возможности описать новый тип, а передать параметром ProcessInformation например как Any у меня не получается — выдает ошибку "bad runtime function". Коненчо это уже не столько обсуждение WinAPI, сколько тонкостей преобразования его комманд. Но вдруг кто с этим сталкивался, помогите плиз
Re[3]: hot keys
От: BlackBox Россия ---
Дата: 10.10.03 06:47
Оценка:
Здравствуйте, Katrin, Вы писали:

K>Здравствуйте, BlackBox, Вы писали:



[skip]

Вместо ShellExecute можно использовать ShellExecuteEx — она возвращает Handle процесса.
Я не знаток PowerBuilder, так что могу дать лишь пару ссылок, посмотри там:

http://www.experts-exchange.com/Programming/Programming_Languages/PowerBuilder/Q_20663647.html
http://www.rgagnon.com/pbdetails/pb-0008.html
http://www.google.com/search?sourceid=navclient&amp;ie=UTF-8&amp;oe=UTF-8&amp;q=shellexecuteex+powerbuilder
Re[4]: hot keys
От: Katrin  
Дата: 13.10.03 07:49
Оценка:
Здравствуйте, BlackBox, Вы писали:

BB>Вместо ShellExecute можно использовать ShellExecuteEx — она возвращает Handle процесса.


Спасибо большое за совет — это было то что надо, работает.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.