имитация клавиатуры свернотому приложению
От: travnik Россия  
Дата: 03.06.10 14:49
Оценка:
Добрый день. Подскажите пжл возможно ли имитировать мышь и клавиатуру в свернутом приложении. Пока у меня получается это делать, когда приложение активно.
Re: имитация клавиатуры свернотому приложению
От: MTimur  
Дата: 03.06.10 15:02
Оценка:
Здравствуйте, travnik, Вы писали:

T>Добрый день. Подскажите пжл возможно ли имитировать мышь и клавиатуру в свернутом приложении. Пока у меня получается это делать, когда приложение активно.

Развернуть окно, сделать свое дело и свернуть его на место не катит? Или предполагается, что пользователь в это время комфортно работает в другом приложении?
Re[2]: имитация клавиатуры свернотому приложению
От: travnik Россия  
Дата: 03.06.10 15:29
Оценка:
Здравствуйте, MTimur, Вы писали:

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


T>>Добрый день. Подскажите пжл возможно ли имитировать мышь и клавиатуру в свернутом приложении. Пока у меня получается это делать, когда приложение активно.

MT>Развернуть окно, сделать свое дело и свернуть его на место не катит? Или предполагается, что пользователь в это время комфортно работает в другом приложении?

Не катит. Пользователь комфортно занимается своими делами)
Re: имитация клавиатуры свернотому приложению
От: Keetsune  
Дата: 03.06.10 17:37
Оценка:
Здравствуйте, travnik, Вы писали:

T>Добрый день. Подскажите пжл возможно ли имитировать мышь и клавиатуру в свернутом приложении. Пока у меня получается это делать, когда приложение активно.


А месаджы слать не катит?
Re[2]: имитация клавиатуры свернотому приложению
От: travnik Россия  
Дата: 04.06.10 06:21
Оценка:
Здравствуйте, MTimur, Вы писали:

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


T>>Добрый день. Подскажите пжл возможно ли имитировать мышь и клавиатуру в свернутом приложении. Пока у меня получается это делать, когда приложение активно.

MT>Развернуть окно, сделать свое дело и свернуть его на место не катит? Или предполагается, что пользователь в это время комфортно работает в другом приложении?

На мессенджеры вообще не реагирует. Реагирует когда окно активно и посылаю с помощью SendInput, на другие комманды приложение не реагирует.
Re[3]: имитация клавиатуры свернотому приложению
От: travnik Россия  
Дата: 04.06.10 07:14
Оценка:
Здравствуйте, travnik, Вы писали:

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


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


T>>>Добрый день. Подскажите пжл возможно ли имитировать мышь и клавиатуру в свернутом приложении. Пока у меня получается это делать, когда приложение активно.

MT>>Развернуть окно, сделать свое дело и свернуть его на место не катит? Или предполагается, что пользователь в это время комфортно работает в другом приложении?

T>На мессенджеры вообще не реагирует. Реагирует когда окно активно и посылаю с помощью SendInput, на другие комманды приложение не реагирует.


if(!hwndWnd)
return;
::SetForegroundWindow(hwndWnd);

KEYBDINPUT keybrd1, keybrd2;
INPUT keyinp[2];
keyinp[0].type = INPUT_KEYBOARD;
keyinp[1].type = INPUT_KEYBOARD;

keybrd1.wVk = mVk;
keybrd1.dwFlags = 0;
keyinp[0].ki = keybrd1;
keybrd2.wVk = mVk;
keybrd2.dwFlags = KEYEVENTF_KEYUP;
keyinp[1].ki = keybrd2;
::SendInput(2, keyinp, sizeof(*keyinp));
Re: имитация клавиатуры свернотому приложению
От: CEMb  
Дата: 07.06.10 03:36
Оценка:
Здравствуйте, travnik, Вы писали:

T>Добрый день. Подскажите пжл возможно ли имитировать мышь и клавиатуру в свернутом приложении.


Возможно.
Re[2]: имитация клавиатуры свернотому приложению
От: travnik Россия  
Дата: 07.06.10 06:21
Оценка:
Здравствуйте, CEMb, Вы писали:

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


T>>Добрый день. Подскажите пжл возможно ли имитировать мышь и клавиатуру в свернутом приложении.


CEM>Возможно.


а можно по подробнее как это сделать?
Re[3]: имитация клавиатуры свернотому приложению
От: CEMb  
Дата: 07.06.10 07:21
Оценка:
Здравствуйте, travnik, Вы писали:

CEM>>Возможно.


T> а можно по подробнее как это сделать?


Секунду... может, я нагнал... Винамп, когда сворачиваешь — находится в свёрнутом положении? Если да, то я умею

Но судя по моему коду, оно работает через:
PostMessage(hWnd, WM_KEYDOWN, m_cbKey, 0x1);


Тут должен быть именно Post, а не Send
Re[4]: имитация клавиатуры свернотому приложению
От: travnik Россия  
Дата: 07.06.10 08:36
Оценка:
Здравствуйте, CEMb, Вы писали:

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


CEM>>>Возможно.


T>> а можно по подробнее как это сделать?


CEM>Секунду... может, я нагнал... Винамп, когда сворачиваешь — находится в свёрнутом положении? Если да, то я умею


CEM>Но судя по моему коду, оно работает через:

CEM>
CEM>PostMessage(hWnd, WM_KEYDOWN, m_cbKey, 0x1);
CEM>


CEM>Тут должен быть именно Post, а не Send


Проблема в том что приложение не реагирует ни на Post, ни на Send.
А можно кусочек кода?
Re[5]: имитация клавиатуры свернотому приложению
От: CEMb  
Дата: 07.06.10 17:13
Оценка:
Здравствуйте, travnik, Вы писали:

CEM>>Но судя по моему коду, оно работает через:

CEM>>
CEM>>PostMessage(hWnd, WM_KEYDOWN, m_cbKey, 0x1);
CEM>>


CEM>>Тут должен быть именно Post, а не Send


T>Проблема в том что приложение не реагирует ни на Post, ни на Send.

T>А можно кусочек кода?

Ну вот, выше, это и есть кусочек кода. Тока что на винампе попробовал, свернул его и послал букву B (next song), сработало
Re[6]: имитация клавиатуры свернотому приложению
От: Аноним  
Дата: 08.06.10 04:39
Оценка:
Здравствуйте, CEMb, Вы писали:

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


CEM>>>Но судя по моему коду, оно работает через:

CEM>>>
CEM>>>PostMessage(hWnd, WM_KEYDOWN, m_cbKey, 0x1);
CEM>>>


CEM>>>Тут должен быть именно Post, а не Send


T>>Проблема в том что приложение не реагирует ни на Post, ни на Send.

T>>А можно кусочек кода?

CEM>Ну вот, выше, это и есть кусочек кода. Тока что на винампе попробовал, свернул его и послал букву B (next song), сработало


Просмотрел сообщения с помощью Spy++, сообщения которые идут приложению от клавиатуры:
<00022> 002C059E P WM_KEYDOWN nVirtKey:VK_RIGHT cRepeat:1 ScanCode:4D fExtended:1 fAltDown:0 fRepeat:0 fUp:0
<00023> 002C059E S message:0xBD00 [User-defined:WM_APP+15616] wParam:00000027 lParam:014D0001
<00024> 002C059E R message:0xBD00 [User-defined:WM_APP+15616] lResult:00000000
<00025> 002C059E P WM_KEYUP nVirtKey:VK_RIGHT cRepeat:1 ScanCode:4D fExtended:1 fAltDown:0 fRepeat:1 fUp:1
<00026> 002C059E S message:0xBD01 [User-defined:WM_APP+15617] wParam:00000027 lParam:C14D0001
<00027> 002C059E R message:0xBD01 [User-defined:WM_APP+15617] lResult:00000000

А вот что посылается ::PostMessage(hwndWnd, WM_KEYDOWN, VK_RIGHT, 0x1);
::PostMessage(hwndWnd, WM_KEYUP, VK_RIGHT, 0x1); :
<00013> 002C059E P WM_KEYDOWN nVirtKey:VK_RIGHT cRepeat:1 ScanCode:00 fExtended:0 fAltDown:0 fRepeat:0 fUp:0
<00014> 002C059E S message:0xBD00 [User-defined:WM_APP+15616] wParam:00000027 lParam:00000001
<00015> 002C059E R message:0xBD00 [User-defined:WM_APP+15616] lResult:00000000
<00016> 002C059E P WM_KEYUP nVirtKey:VK_RIGHT cRepeat:1 ScanCode:00 fExtended:0 fAltDown:0 fRepeat:0 fUp:0
<00017> 002C059E S message:0xBD01 [User-defined:WM_APP+15617] wParam:00000027 lParam:00000001
<00018> 002C059E R message:0xBD01 [User-defined:WM_APP+15617] lResult:00000000

Как задать ScanCode и т.п.?
Re[7]: имитация клавиатуры свернотому приложению
От: CEMb  
Дата: 08.06.10 06:53
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Как задать ScanCode и т.п.?


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