Эмуляция нажатия клавиш...

Тема в разделе "WASM.BEGINNERS", создана пользователем Andrew_Kuz, 7 июл 2007.

  1. Andrew_Kuz

    Andrew_Kuz УсамаБэнЛаден

    Публикаций:
    0
    Регистрация:
    5 июл 2007
    Сообщения:
    41
    Адрес:
    планета Земля
    Какое сообшение нужно послать окну что-бы сэмитировать в нём нажатие комбинации клавиш - Ctrl+C?
    Желательно пример на масме.
    WM_PASE не предлагать!!!(не работает!:dntknw: )
     
  2. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    WM_KEYDOWN, WM_KEYUP.
     
  3. Andrew_Kuz

    Andrew_Kuz УсамаБэнЛаден

    Публикаций:
    0
    Регистрация:
    5 июл 2007
    Сообщения:
    41
    Адрес:
    планета Земля
    а поподробней можно?
     
  4. Andrew_Kuz

    Andrew_Kuz УсамаБэнЛаден

    Публикаций:
    0
    Регистрация:
    5 июл 2007
    Сообщения:
    41
    Адрес:
    планета Земля
    Помогите пож.
    Я вот код на Delphi нашёл:
    Код (Text):
    1.   h := FindWindow('TCompanyQuickInfoForm', 'Краткая информация');
    2.   h2 := FindWindowEx(h,0,'TObjectQuickInfoFrame',0);
    3.   h2 := FindWindowEx(h2,0,'TcxVerticalGrid',0);
    4.   SetForegroundWindow(h);
    5.   PostMessage(h2, WM_SETFOCUS,0,0);
    6.   keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0);
    7.   keybd_event(Ord('C'), MapVirtualKey(Ord('C'), 0), 0, 0);
    8.   keybd_event(Ord('C'), 0, KEYEVENTF_KEYUP, 0);
    9.   keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL,0), KEYEVENTF_KEYUP, 0);
    и перевёл на масм НО ЧЁТ НЕ РАБОТАЕТ!, может где ошибка??? :dntknw:

    Код (Text):
    1.  
    2.          invoke  keybd_event,VK_CONTROL,al , 0, 0
    3.          invoke  MapVirtualKey,VK_C, 0
    4.          invoke  keybd_event,VK_C,eax, 0, 0
    5.          invoke  keybd_event,VK_C, 0, KEYEVENTF_KEYUP, 0
    6.          invoke  MapVirtualKey,VK_CONTROL, 0
    7.          invoke  keybd_event,VK_CONTROL,al, KEYEVENTF_KEYUP, 0
    (Окно у меня уже находится в фокусе...)
     
  5. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    Както ты странно перевел.. мне так показалось
     
  6. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    Andrew_Kuz

    Твой вариант будет работать в случе если окно в фокусе.
     
  7. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    W4FhLF
     
  8. Andrew_Kuz

    Andrew_Kuz УсамаБэнЛаден

    Публикаций:
    0
    Регистрация:
    5 июл 2007
    Сообщения:
    41
    Адрес:
    планета Земля
    может вместо Ord('C') не VK_C нужно вставлять, а код символа "С" = 43h???
     
  9. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    А где и как определен VK_C? Чето у меня такой константы в хидерах нет..
     
  10. Andrew_Kuz

    Andrew_Kuz УсамаБэнЛаден

    Публикаций:
    0
    Регистрация:
    5 июл 2007
    Сообщения:
    41
    Адрес:
    планета Земля
    Всё работает!
     
  11. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    VK_C equ 43h

    В сишных нет, ага.
     
  12. Andrew_Kuz

    Andrew_Kuz УсамаБэнЛаден

    Публикаций:
    0
    Регистрация:
    5 июл 2007
    Сообщения:
    41
    Адрес:
    планета Земля
    Всем СПАСИБО! ТЕМА ЗАКРЫТА.
     
  13. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    VK_C == 'C'