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

Как нажать клавишу в свернутом PW?

-

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

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

Ответ
 
Опции темы
Старый 15.02.2011, 19:33   #1
 Сержант
Аватар для gurin
 
gurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компании
Регистрация: 18.12.2009
Сообщений: 152
Популярность: 1075
Сказал(а) спасибо: 45
Поблагодарили 204 раз(а) в 67 сообщениях
Отправить сообщение для gurin с помощью Skype™
 
Exclamation Как нажать клавишу в свернутом PW?

Доброе время суток. Написал маленькую прогу, которая кушает банки, в случае если ХП или МЭ меньше заданного значения. Больше она ничего не делает.

Все прекрасно работает, но... Только если PW активно. Если не активно, то то программное нажатие клавиши не срабатывает.
Может подскажете чего?

Вот код что я использую:

Код:
    PostMessage(hw, WM_KEYDOWN, VK_F7, 0);
    Sleep(200);
    PostMessage(hw, WM_KEYUP, VK_F7, 0);
    Sleep(200);
работает только если PW активно

пробовал так

Код:
    SetForegroundWindow(hw);
    PostMessage(hw, WM_KEYDOWN, VK_F7, 0);
    Sleep(200);
    PostMessage(hw, WM_KEYUP, VK_F7, 0);
    Sleep(200);
работает, но текущее приложение теряет фокус


пробовал так

Код:
    hfw := getForegroundWindow;
    SetForegroundWindow(hw);
    PostMessage(hw, WM_KEYDOWN, VK_F7, 0);
    Sleep(200);
    PostMessage(hw, WM_KEYUP, VK_F7, 0);
    Sleep(200);
    SetForegroundWindow(hfw);
работает только если PW активно

перерыл весь интернет, ничего путнего не нашел

Просьба не обходиться общими словами, а, если нетрудно, приложить рабочий код. Заранее благодарен всем кто откликнется.

Добавлено через 2 минуты
Сорри, забыл указать, PW - это игра Perfect World.

Последний раз редактировалось gurin; 15.02.2011 в 19:35. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 15.02.2011, 21:24   #2
Бандеровец
 Лейтенант-командор
Аватар для VeTaL_UA
 
VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(VeTaL_UA сломал счётчик популярности :(
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
Отправить сообщение для VeTaL_UA с помощью ICQ Отправить сообщение для VeTaL_UA с помощью Skype™
 
По умолчанию Re: Как нажать клавишу в свернутом PW?

Ты также забыл сказать на каком языке ты это написал) Судя логике - это автоит) Через пять минут попробую что-то написать по теме!

Добавлено через 25 минут
Попробуй вот это, хотя я не уверен, что получится...
Цитата:
; вытягиваешь из процеса ид...
$Window = _ProcessGetWindow("ElementClient.exe", 1)
ConsoleWrite($Window & @CRLF)

Func _ProcessGetWindow($iPID, $iRet=-1)
Local $aWinList = WinList()
Local $aRet[2]

If IsString($iPID) Then $iPID = ProcessExists($iPID)

For $i = 1 To UBound($aWinList)-1
If WinGetProcess($aWinList[$i][1]) = $iPID Then
$aRet[0] = $aWinList[$i][0] ;Title
$aRet[1] = $aWinList[$i][1] ;WinHandle

If $iRet = 0 Then Return $aRet[0]
If $iRet = 1 Then Return $aRet[1]

Return $aRet
EndIf

________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.

Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.



Последний раз редактировалось VeTaL_UA; 15.02.2011 в 21:50. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 15.02.2011, 21:52   #3
 Главнокомандующий
Аватар для finkrer
 
finkrer сломал счётчик популярности :(finkrer сломал счётчик популярности :(finkrer сломал счётчик популярности :(finkrer сломал счётчик популярности :(finkrer сломал счётчик популярности :(finkrer сломал счётчик популярности :(finkrer сломал счётчик популярности :(finkrer сломал счётчик популярности :(finkrer сломал счётчик популярности :(finkrer сломал счётчик популярности :(finkrer сломал счётчик популярности :(
Регистрация: 11.04.2010
Сообщений: 1,314
Популярность: 100919
Золото Zhyk.Ru: 7
Сказал(а) спасибо: 249
Поблагодарили 1,066 раз(а) в 767 сообщениях
Отправить сообщение для finkrer с помощью ICQ Отправить сообщение для finkrer с помощью Skype™
 
По умолчанию Re: Как нажать клавишу в свернутом PW?

Цитата:
Сообщение от gurinПосмотреть сообщение
PW - это игра Perfect World.

Да ты что!
  Ответить с цитированием
Старый 15.02.2011, 21:56   #4
-= Элитный Мастер =-
 Главнокомандующий
Аватар для Kitsune
 
Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(
Регистрация: 20.01.2010
Сообщений: 1,539
Популярность: 22780
Золото Zhyk.Ru: 600
Сказал(а) спасибо: 43
Поблагодарили 1,717 раз(а) в 538 сообщениях
 
По умолчанию Re: Как нажать клавишу в свернутом PW?

gurin, разморозить надо клиент, а потом можно будет посылать кнопки в свернутое и завернутое окно .
________________
Fireball - Быстрое снятие и загрузка скриншотов на хостинг.
  Ответить с цитированием
Старый 15.02.2011, 22:14   #5
-= Мастер Света =-
 Капитан
Аватар для FreePVP)))
 
FreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского СоюзаFreePVP))) трижды герой Советского Союза
Регистрация: 24.09.2010
Сообщений: 262
Популярность: 6723
Сказал(а) спасибо: 118
Поблагодарили 346 раз(а) в 104 сообщениях
Отправить сообщение для FreePVP))) с помощью ICQ Отправить сообщение для FreePVP))) с помощью Skype™
 
По умолчанию Re: Как нажать клавишу в свернутом PW?

TBX1n, а можно без разморозки?
________________
TwinkDB - твинки любого игрока, их дата создания, последний онлайн, статус удаления и прочее
Skype - freepvps
ICQ - 412705115


[Ссылки могут видеть только зарегистрированные пользователи. ] - ставкобот
[Ссылки могут видеть только зарегистрированные пользователи. ] - общение в КЧ через смартфон
  Ответить с цитированием
Старый 15.02.2011, 22:37   #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?

Можно, немного подправив функцию принятия WinMsg клиентом.
  Ответить с цитированием
Старый 16.02.2011, 01:00   #7
 Сержант
Аватар для gurin
 
gurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компании
Регистрация: 18.12.2009
Сообщений: 152
Популярность: 1075
Сказал(а) спасибо: 45
Поблагодарили 204 раз(а) в 67 сообщениях
Отправить сообщение для gurin с помощью Skype™
 
По умолчанию Re: Как нажать клавишу в свернутом PW?

Цитата:
Сообщение от VeTaL_UAПосмотреть сообщение
Ты также забыл сказать на каком языке ты это написал)

Это Delphi.

Что касаемо предложенного кода, я его не оч понял. Но насколько я понял в нем нет посылки кода клавиши в приложение, а PID я и так выцепляю и всю другую инфу след образом:

Код:
    hw := FindWindow(nil, pChar(eClientCaption.text));
    pidw := GetWindowThreadProcessId(hw, PID);
    hProcess  := OpenProcess(PROCESS_ALL_ACCESS, False, PID);
Цитата:
Сообщение от TBX1nПосмотреть сообщение
разморозить надо клиент

А примерчик можно как это сделать?

Добавлено через 12 минут
почитал я про разморозку... её применение приведет к вылету клиента через определенное время - так?

Добавлено через 1 час 7 минут
Может как-то можно вызвать программно использование ячеек панелей управления в игре?

Последний раз редактировалось gurin; 16.02.2011 в 02:08. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 16.02.2011, 02:29   #8
-= Элитный Мастер =-
 Главнокомандующий
Аватар для Kitsune
 
Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(Kitsune сломал счётчик популярности :(
Регистрация: 20.01.2010
Сообщений: 1,539
Популярность: 22780
Золото Zhyk.Ru: 600
Сказал(а) спасибо: 43
Поблагодарили 1,717 раз(а) в 538 сообщениях
 
По умолчанию Re: Как нажать клавишу в свернутом PW?

Цитата:
Сообщение от gurinПосмотреть сообщение
приведет к вылету клиента через определенное время - так?

нет.

Цитата:
Сообщение от gurinПосмотреть сообщение
Может как-то можно вызвать программно использование ячеек панелей управления в игре?

нет.

Цитата:
Сообщение от gurinПосмотреть сообщение
А примерчик можно как это сделать?

или менять флаг заморозки через определенный интервал времени или изменить функцию смены флага в памяти клиента так, чтобы она всегда записывала 1 или ничего не записывала вовсе.
________________
Fireball - Быстрое снятие и загрузка скриншотов на хостинг.
  Ответить с цитированием
Пользователь сказал cпасибо:
gurin (24.02.2011)
Старый 17.02.2011, 13:28   #9
 Сержант
Аватар для gurin
 
gurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компанииgurin душа компании
Регистрация: 18.12.2009
Сообщений: 152
Популярность: 1075
Сказал(а) спасибо: 45
Поблагодарили 204 раз(а) в 67 сообщениях
Отправить сообщение для gurin с помощью Skype™
 
По умолчанию Re: Как нажать клавишу в свернутом PW?

Помогло.

[Ссылки могут видеть только зарегистрированные пользователи. ]

P.S. а где кнопка спасибо? не нашел что бы поблагодарить.
  Ответить с цитированием
Старый 19.02.2011, 19:08   #10
 Пехотинец
Аватар для Хакерок:)
 
Хакерок:) на правильном путиХакерок:) на правильном пути
Регистрация: 06.07.2009
Сообщений: 81
Популярность: 126
Сказал(а) спасибо: 32
Поблагодарили 93 раз(а) в 36 сообщениях
Отправить сообщение для Хакерок:) с помощью ICQ
 
По умолчанию Re: Как нажать клавишу в свернутом PW?

Цитата:
Сообщение от gurinПосмотреть сообщение
P.S. а где кнопка спасибо? не нашел что бы поблагодарить.

Появится после набора 10 сообщений...
  Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Те у кого Oracle не хилит петов в свернутом окне читайте. NorthSide072 Боты, скрипты и прочий софт для Perfect World 3 03.01.2010 01:12
[Подсказка] Ваши рабы спят? А рейтинг-то, падает...не даём рейтингу падать!!! IIIypuk Архив 8 24.12.2009 20:12

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

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

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