Конференция "WinAPI" » Требуется нажать в неактивном окне кнопку [D7, WinXP]
 
  • eror (18.04.08 16:18) [0]
    Требуется нажать в неактивном окне кнопку, делаю так:


    var
     h: hwnd;
    begin
     h := FindWindow(nil, 'Безымянный - Блокнот'); //узнаем хендл
     if h <> 0 then begin //проверяю нашёлся ли он
       SendMessage(h, wm_syskeydown, VK_F1, 0); //отправляю нажатие F1 найденому окну
       SendMessage(h, wm_SysKeyUp, VK_F1, 0); //Отпускаем в нужном окне кнопку F1
     end;
    end;


    Нужно чтобы блокнот был свёрнут, и вызвалась его справка.
    Почему не работает? :(((
  • SergeyIT © (18.04.08 17:53) [1]
    И зачем это? Поизощряться можно конечно...
    Вот так работает, если блокнот не свернут
      PostMessage(h, wm_keydown, VK_F1, 0);
      PostMessage(h, wm_KeyUp, VK_F1, 0);
  • eror (19.04.08 02:48) [2]
    А как быть если приложение (блокнот) минимизировано?
  • Leonid Troyanovsky © (19.04.08 12:14) [3]

    > eror   (19.04.08 02:48) [2]

    > А как быть если приложение (блокнот) минимизировано?

    Развернуть его.

    --
    Regards, LVT.
  • SergeyIT (19.04.08 12:28) [4]
    PostMessage(h, wm_syscommand, sc_restore, 0);
    ...
  • eror (19.04.08 13:33) [5]
    Нет нет, нельзя приложение разворачивать, оно должно быть минимизировано.
    В это вся и проблема ... :((
  • SergeyIT (19.04.08 15:31) [6]
    Тогда может попробовать WM_COMMAND и пункт меню?
  • Leonid Troyanovsky © (19.04.08 15:41) [7]

    > eror   (19.04.08 13:33) [5]

    > Нет нет, нельзя приложение разворачивать

    http://groups.google.com/group/fido7.ru.delphi/msg/925bebee0309bec9

    --
    Regards, LVT.
 
Конференция "WinAPI" » Требуется нажать в неактивном окне кнопку [D7, WinXP]
Есть новые Нет новых   [134433   +22][b:0][p:0.001]