Тема: AHK:Отображение GUI над игрой.
Здравствуйте! У меня вопрос: как сделать так, что-бы GUI был виден над любой игрой, даже над той, которая в полноэкранном режиме. Будет ли это играть на FPS игры?
P.S. +AlwaysOnTop видно над всем, кроме игр.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Здравствуйте! У меня вопрос: как сделать так, что-бы GUI был виден над любой игрой, даже над той, которая в полноэкранном режиме. Будет ли это играть на FPS игры?
P.S. +AlwaysOnTop видно над всем, кроме игр.
Спасибо. А вы можете привести пример, как с этим работать?
Пока что не пробовал, ничего сказать не могу.
Пока что не пробовал, ничего сказать не могу.
Здравствуйте! Уже прошло много времени, надеюсь Вы ответите. Я установил dx9_overlay и даже разобрался как он работает, но он работает в Cs Go, а в новых играх-нет, так как скорее всего там не DX9 используется. Или я чего-то не понимаю. Есть ли ещё способы, хотел сделать свою таблицу игроков для игры "Stick Fight: The Game", но GUI ахк и dx9_overlay там не работают.
danyalukashak, правильно думаете. Там используется не DX9, а DX10, DX11... Или другие к примеру OpenGL.
danyalukashak, правильно думаете. Там используется не DX9, а DX10, DX11... Или другие к примеру OpenGL.
А других способов нету?
danyalukashak, если честно не знаю.
AHK это урезанная версия С++ и функционал не велик. Посмотрите AHK v2 может там есть. Поищите в гугле информацию.
AHK это урезанная версия С++ и функционал не велик.
Ага, а C++ это урезанная версия ассемблера. А уж какой богатый у ассемблера функционал, отдельными регистрами можно управлять...
AHK v2 может там есть.
Там есть что? Посмотрите еще под ковер, может там есть?
Ага, а C++ это урезанная версия ассемблера.
Да ну! Не может быть. Это вы у ж слишком загнули
Там есть что? Посмотрите еще под ковер, может там есть?
Под ковром обычно пыль, но я не об этом. Имеется ввиду, что в AHK v2 могли добавить функционал подобного рода.
Ну тогда расскажите, что конкретно "урезали" в ahk по сравнению с C++, очень интересно.
в AHK v2 могли добавить функционал
Рисование gui поверх DirectX нужно добавлять прямо в язык, иначе никак?
Назовите хотя бы один язык или фреймфорк, где этот "функционал" уже добавлен.
AHK это урезанная версия С++ и функционал не велик
Функционал напрямую зависит от ваших знаний, разве что мультипоточность не поддерживается.
Посмотрите AHK v2 может там есть.
ИМХО перед тем как советовать, лучше один раз самому ознакомиться с предметом совета, чтобы знать что есть там, а чего нету.
Я решил половину проблемы. Для отображения над игрой, я использую вот что:
WinGet, WinHND, ID, A
Gui, +Owner%WinHND% -Caption +AlwaysOnTop +Lastfound
Но Если я нажимаю на поле ввода в этом GUI, то меня выбрасывает на рабочий стол. Как этого избежать?
Полагаю игра делает это при потере фокуса с ее окна, т.е. когда другое окно становится активным.
Вы не сможете взаимодействовать с gui обычным образом, но есть обходной путь.
Окно делаете прозрачным для кликов используя стиль +E0x20,
ввод в окно делаете с помощью горячих клавиш или клавиатурного хука.
Остается вопрос - когда ввод направлять в игру, а когда в gui?
Можно сделать переключение ввода горячей клавишей, можно определять положение gui на экране и при клике в эту область экрана направлять ввод в gui.
Gui Add, Edit, HwndhEdit
Gui Color, 0
Gui +Lastfound +ToolWindow +AlwaysOnTop -Caption -Border
WinSet TransColor, 0
Gui Show, NA
Gui +E0x20
Return
F1::guiInputEnable:=!guiInputEnable
Esc::ExitApp
#If guiInputEnable
A::ControlSend,, {vk41}, ahk_id %hEdit%
#If
MandarinKa02, выдуманная цитата? Негативным ответом я считаю только ваш ответ, ибо он несет отрицательную полезность для спрашивающего.
stealzy, а как сделать нажатие любой кнопки клавиатуры, что-бы оно передавалось в hEdit? Для каждой клавиши сделать ControlSend? Или есть другой способ? Для закрытия сделать горячую клавишу, с закрытием этого GUI?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться