Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


Страницы:   1 2

Ламерок ©   (2007-03-05 14:39:00) 

Подскажите пожалуйста как можно программно нажать клавишу F12 в чужом окне ?


Сергей М.   (2007-03-05 15:58:00) [21]


> Leonid Troyanovsky ©   (05.03.07 15:51) [14]


?


Leonid Troyanovsky   (2007-03-05 15:51:00) [22]


> Сергей М. ©   (05.03.07 15:49) [12]

> А почему обязано-то ?)

На SendMessage уж точно не обязано.

--
Regards, LVT.


Leonid Troyanovsky   (2007-03-05 15:50:00) [23]


> Ламерок   (05.03.07 15:45) [11]

> >Она и посылет конкретному - тому, которое в данный момент
> В таком  случае она не работает на этом окне. Потому что
> я послал по таймеру и активнм окном у меня было именно то
> злополучное окно в которое и надо посылать...

Что за окно-то? И точно ли оно было foreground?
На дельфи срабатывает? Должна форма переключаться
между текстом и формой.

--
Regards, LVT.


Сергей М.   (2007-03-05 15:49:00) [24]


> А почему не обязано ?


А почему обязано-то ?)

Мож оно, то самое окно того самого приложения, видимымобразом реагирует только на "клавишу нажал + клавишу отпустил" ?

Об этом твоя светлая голова не дотумкала, так надо понимать ?)


Ламерок   (2007-03-05 15:45:00) [25]

>Leonid Troyanovsky ©
>Она и посылет конкретному - тому, которое в данный момент
В таком  случае она не работает на этом окне. Потому что я послал по таймеру и активнм окном у меня было именно то злополучное окно в которое и надо посылать...

>Сергей М. ©
>А обязано ?)
А почему не обязано ?) Все по моему правильно написано)


Сергей М.   (2007-03-05 15:40:00) [26]


> Ламерок   (05.03.07 15:30) [7]


Ты, ""ламерок", не ответил на вопрос в [6])...


Leonid Troyanovsky   (2007-03-05 15:39:00) [27]


> Ламерок   (05.03.07 15:28) [5]

> Не знаю как послать SendInput конкретному окну, поэтому

Она и посылет конкретному - тому, которое в данный момент
имеет фокус ввода (см. также GetForegrondWindow).

Т.е., вопрос - откуда, потому, как из обработчика кнопки
не выйдет, нужен, хотя бы, таймер.

--
Regards, LVT.

PS MapVirtualKey сейчас не пишут, т.е. 0


Ламерок   (2007-03-05 15:35:00) [28]

Помогите с решением проблемы пожалуйста)


Ламерок   (2007-03-05 15:30:00) [29]

Я пытаюсь написать некого так скажем "бота" для лентяев, чтобы не тыкать все время нужные кнопки в окне - моя программа будет их наживать сама. Но, пока ничего не получается(


Сергей М.   (2007-03-05 15:28:00) [30]


> на  SendMessage(h,WM_KEYDOWN, VK_F12,0); окно никак не реагирует


А обязано ?)


Ламерок   (2007-03-05 15:28:00) [31]

Не знаю как послать SendInputконкретному окну, поэтому послаю просто так :
var
Inp: TInput;
I: Integer;
begin
Inp.Itype := INPUT_KEYBOARD;
Inp.ki.wVk := VK_F12;
Inp.ki.dwFlags := 0;
SendInput(1, Inp, SizeOf(Inp));

Inp.Itype := INPUT_KEYBOARD;
Inp.ki.wVk := VK_F12;
Inp.ki.dwFlags := KEYEVENTF_KEYUP;
SendInput(1, Inp, SizeOf(Inp));


ЗЫ. keybd_event(VK_F12, MapVirtualKey(VK_F12, 0), 0, 0);
keybd_event(VK_F12, MapVirtualKey(VK_F12, 0), KEYEVENTF_KEYUP, 0);

Тоже не помогает.


Leonid Troyanovsky   (2007-03-05 15:24:00) [32]


> Ламерок   (05.03.07 15:20) [3]

>  будь оно активно или не активно... SendInput тоже что то
> не пашет, потому что окно никак не реагирует ((


Показывай код и откуда посылешь.

--
Regards, LVT.


Ламерок   (2007-03-05 15:20:00) [33]

на   SendMessage(h,WM_KEYDOWN, VK_F12,0);окно никак не реагирует, будь оно активно или не активно... SendInputтоже что то не пашет, потому что окно никак не реагирует ((


Leonid Troyanovsky   (2007-03-05 14:50:00) [34]


> Ламерок   (05.03.07 14:39)  

> Подскажите пожалуйста как можно программно нажать клавишу
> F12 в чужом окне ?

Если чужое окно активно, то SendInput, keybd_event.

--
Regards, LVT.


Сергей М.   (2007-03-05 14:45:00) [35]

Послать ему WM_KEYDOWN c кодом VK_F12


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо