Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Передача нажатия кнопки окну PW

-

Общение разработчиков

- Программирование для Perfect World, общение и обсуждене разработок

Ответ
 
Опции темы
Старый 14.05.2013, 15:28   #1
 Разведчик
Аватар для Xantrax2150198
 
Xantrax2150198 никому не известный тип
Регистрация: 12.05.2013
Сообщений: 3
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Передача нажатия кнопки окну PW

Здравствуйте.
Как эмулировать нажатие клавиши клавиатуры (допустим TAB) и передать его в окно с PW?
Попробовал так:
void CNewBotDlg::OnBnClickedOk()
{
HWND hWnd = ::FindWindow((LPCSTR)"ElementClient Window",(LPCSTR)"Perfect World"); //Находим HWND окна PW
::SendMessageA(hWnd,VK_TAB,0,0); //отправляем этому окну нажатие клавиши TAB
}
Но не получилось, отклик нулевой....
Спасибо.
  Ответить с цитированием
Старый 14.05.2013, 16:32   #2
-= Мастер Света =-
 Рыцарь-капитан
Аватар для Ginrey
 
Ginrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака Норриса
Регистрация: 14.06.2012
Сообщений: 511
Популярность: 7566
Сказал(а) спасибо: 4
Поблагодарили 181 раз(а) в 88 сообщениях
 
По умолчанию Re: Передача нажатия кнопки окну PW

Ну во первый дам совет использовать PostMessage, а не SendMessage.
Во вторых ты даже не зада методику клика wm_keydown или keyup и т.д.
Вот тебе пример, писал на Delphi. но думаю переделать не составит труда:
PostMessage(FindWindow('ElementClient window',nil),WM_KEYDOWN,VK_TAB,0);
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо"

Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
  Ответить с цитированием
Старый 14.05.2013, 17:45   #3
 Разведчик
Аватар для Xantrax2150198
 
Xantrax2150198 никому не известный тип
Регистрация: 12.05.2013
Сообщений: 3
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Передача нажатия кнопки окну PW

да разобраться-то не мудрено дело, другое дело, что он у меня не работает((
void CNewBotDlg::OnBnClickedOk()
{
BOOL ok;
HWND hWnd = ::FindWindow("ElementClient Window",0);
ok = ::PostMessage(hWnd,WM_KEYDOWN,VK_TAB,0);
::PostMessage(hWnd,WM_KEYUP,VK_TAB,0);
}
ok возвращает 1, значит сообщение зарегистрировано, но в клиенте ничего не происходит, т.е. таргет не выделяется(
  Ответить с цитированием
Старый 14.05.2013, 17:55   #4
-= Мастер Света =-
 Рыцарь-капитан
Аватар для Ginrey
 
Ginrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака Норриса
Регистрация: 14.06.2012
Сообщений: 511
Популярность: 7566
Сказал(а) спасибо: 4
Поблагодарили 181 раз(а) в 88 сообщениях
 
По умолчанию Re: Передача нажатия кнопки окну PW

Попробуй вместо Vk_tab вставить ord('S') выделить в PW строчку чата и послать запрос. Буква значения не имеет. просто пример, если успешно напишется, то проблема не в запросах
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо"

Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
  Ответить с цитированием
Старый 14.05.2013, 18:09   #5
 Разведчик
Аватар для Xantrax2150198
 
Xantrax2150198 никому не известный тип
Регистрация: 12.05.2013
Сообщений: 3
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Передача нажатия кнопки окну PW

Хм, если написать ok = ::PostMessage(hWnd,WM_KEYDOWN,char('S'),0); (ord нет в С++), то все нормально вставляется в чат. Ммм, в чем может быть проблема тогда?
  Ответить с цитированием
Старый 14.05.2013, 19:46   #6
Reaper
 Фельдмаршал
Аватар для Dinmaite
 
Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(Dinmaite сломал счётчик популярности :(
Регистрация: 13.08.2009
Сообщений: 1,004
Популярность: 25098
Золото Zhyk.Ru: 350
Сказал(а) спасибо: 110
Поблагодарили 830 раз(а) в 395 сообщениях
Отправить сообщение для Dinmaite с помощью ICQ
 
По умолчанию Re: Передача нажатия кнопки окну PW

Проблема не может быть. Проблема есть.

Клиент ПВ обрабатывает нажатия функциональных клавишь отдельным алгоритмом, что позволяет выяснить была нажата клавиша или просто отослано сообщение.
Варианты решения:
1. Разморозить окно (unfreez).
2. Обойти проверку.
  Ответить с цитированием
Старый 14.05.2013, 19:49   #7
 Разведчик
Аватар для Xantrax2150198
 
Xantrax2150198 никому не известный тип
Регистрация: 12.05.2013
Сообщений: 3
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Передача нажатия кнопки окну PW

Ага, ясно... А что такое замороженое окно? Где об этом почитать?
  Ответить с цитированием
Старый 14.05.2013, 20:17   #8
-= Мастер Света =-
 Рыцарь-капитан
Аватар для Ginrey
 
Ginrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака НоррисаGinrey троюродный дядя Чака Норриса
Регистрация: 14.06.2012
Сообщений: 511
Популярность: 7566
Сказал(а) спасибо: 4
Поблагодарили 181 раз(а) в 88 сообщениях
 
По умолчанию Re: Передача нажатия кнопки окну PW

Цитата:
Сообщение от Xantrax2150198Посмотреть сообщение
Ага, ясно... А что такое замороженое окно? Где об этом почитать?

http://zhyk.ru/forum/showthread.php?t=287321

Ищешь свою версию клиента, берешь UnfreezAdress. И через WriteProcessMemory прописываешь в нем значение "1"
________________
Хотите как то отблагодарить за помощь?
Не стесняйтесь нажимайте "Спасибо"

Делаю программы на заказ, по всем вопросам в скайп: Ginrey2
  Ответить с цитированием
Старый 14.05.2013, 20:48   #9
 Разведчик
Аватар для fds255
 
fds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известенfds255 скоро будет известен
Регистрация: 23.06.2012
Сообщений: 43
Популярность: 427
Сказал(а) спасибо: 18
Поблагодарили 59 раз(а) в 35 сообщениях
 
По умолчанию Re: Передача нажатия кнопки окну PW

Xantrax2150198,

У меня например работает, правда на Delphi, следующий код:
SendMessage(FindWindow('ElementClient window',nil), WM_KEYDOWN, VK_Escape, 0);
SendMessage(FindWindow('ElementClient window',nil), WM_KEYUP,VK_Escape, 0);

По поводу предпочтения sendmessage или postmessage, выбирать тебе, ибо:
PostMessage помещает сообщение в очередь сообщений, связанную с указанным окном. Она не ждёт подтверждения или ответа. Напротив, SendMessage ждёт до 5 секунд, пока целевое окно обработает сообщение. Если в течение 5 секунд сообщение не будет обработано, команда завершается и задаёт переменной ErrorLevel значение FAIL.
________________
MultiXBot
MultiX_POT
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Продам] Скрипт нажатия 1 кнопки для Hot Dance Party cenets Товары/услуги в Сети 16 20.05.2012 14:31
[Помогите!] Программа для имитации нажатия левой кнопки мыши Некит99992 Общение разработчиков 1 11.02.2012 17:31
[Помогите!] Кликер нажатия левой кнопки мыши с задержкой 0.1 сек XRASER Общение и обсуждение прочих игр 4 17.12.2011 14:18
[Скрипт] Программа для имитации нажатия правой кнопки мыши AnobiozZ Скрипты и прочий софт для Point Blank 36 06.08.2011 02:23

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 00:41.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net