0 / 0 / 0
Регистрация: 25.11.2025
Сообщений: 2

Delphi 11. Передать нажатие клавиши в Онлайн игру

27.11.2025, 15:37. Показов 681. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Обсуждалось здесь Как в Windows 10 передать нажатие клавиш в окно MMORPG игры?, но тема не моя да и умолкла давно.
И так имеем: игра Perfect World ruoff. Зачем мне это надо? - просто учусь и вспоминаю Delphi
Delphi 11, SPI 17

В качестве тестового приложения периодически использовался блокнот

Испробованы функции:
SendMessage
PostMessage
PostMessage(asm)
SendInput
keybd_event

В блокнот данные передались. В Игру - нет. SPI даже не отображает входящий KeyDown.

ОК, попробуем GetFocus. Используем:
GetGUIThreadInfo или
AttachThreadInput.

В первом случае возвращаемый хендл равен хендлу основного окна и разумеется на KeyDown никакой реакции.
Во втором - мы имеем нулевой результат, то согласно описания мелкософт говорит об ошибке по причине "если у одного из указанных потоков нет очереди сообщений".

Ну можно было бы конечно плюнуть подумав о каких то допзащитах, обработках клавиатуры через Direct и т.далее, но... Стандартная виртуальная клавиатура винды, да и скачанная с какого то ресурса другая клавиатура спокойно передают кнопку в игрушку и это событие нормально отражается в SPI как обычный KeyDown.
Значит что то седой новичок упустил... Ткните, плз. Про ошибки в ДНК, маразм, кривизну и местоприложение рук сам все знаю, можно не повторятся

Совсем забыл еще одну фишку...
SetWindowText тоже не работает. Хотя помню давние времена лет ужо 15 тому, когда майл еще PW под себя не загреб работало, потому что именно переименование окна позволяло запустить две копии игрушки.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.11.2025, 15:37
Ответы с готовыми решениями:

Как передать нажатие клавиши от компонента к компоненту?
Всем добрый день! Есть форма, на ней два компонента. Edit Box и Combo Box. Активен только Edit...

Клиент к онлайн игре "Танки Онлайн"
Помогите, пишу облегчённый клиент к онлайн игре "Танки Онлайн" Игра браузерная клиент пишу на...

Как в Windows 10 передать нажатие клавиш в окно MMORPG игры?
Здравствуйте. Я на ноутбуке, находящемся под управлением Windows 7 x64, пишу небольшую...

3
453 / 177 / 31
Регистрация: 04.08.2018
Сообщений: 713
28.11.2025, 01:25
Лучший ответ Сообщение было отмечено LienXo как решение

Решение

LienXo, свою программу от админа запускаете?
А что если вы попробуете нажимать своей программой кнопки в "Стандартная виртуальная клавиатура винды"? Они будут нажиматься и передаваться дальше в ПВ?
1
0 / 0 / 0
Регистрация: 25.11.2025
Сообщений: 2
28.11.2025, 14:55  [ТС]
Уважаемый Rayvenor, спасибо за наводку. Действительно, игра запускается с высоким уровнем целостности. Буду смотреть в этом направлении.

Добавлено через 3 часа 30 минут
Уважаемый Rayvenor, спасибо еще раз. Проверил, с повышенным приоритетом все работает. Игра запускается через игровой центр, там ей приоритет и повышают похоже....
0
453 / 177 / 31
Регистрация: 04.08.2018
Сообщений: 713
28.11.2025, 17:00
LienXo, можно настроить в свойствах проекта при запуске программы повышение прав до администратора.
Миниатюры
Delphi 11. Передать нажатие клавиши в Онлайн игру  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.11.2025, 17:00
Помогаю со студенческими работами здесь

Делфи, при нажатии клавиши выводилось его имя ВывестиСообшение('Имя клавиши');
Точна такую тему нада сделать для других клавишь, но как ? procedure TForm1.FormKeyPress(Sender:...

Не загружается онлайн флеш-игра (ShockwaveFlash - Delphi XE)
Приветствую, у меня проблемка - не прогружается онлайн флеш-игра (идет бесконечная загрузка)....

Delphi! Перехват нажатия клавиши при свернутой форме?
скажите, как перехватить нажатие клавиши, допустим ctr, когда форма свернута и является не...

Движение пока нажата клавиша Delphi 7
Подскажите пожалуста как сделать в delphi 7 движение объекта пока нажата клавиша (Например нажал...

Действие по нажатию клавиши Enter в Delphi
Нужно что бы по нажатию Enter в edit прописывался текст 'AzAzA' Как это сделать?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru