1 (изменено: danyalukashak, 2018-01-15 02:45:47)

Тема: AHK:ControlSend всех нажатий клавиш в неактивное окно.

Здравствуйте! У меня вопрос: Можно ли сделать так, что-бы при нажатии на любую кнопку клавиатуры, нажатие этой кнопки посылалось в неактивное окно. Или нужно для каждой кнопки делать вот так?:

A::ControlSend, Chrome_RenderWidgetHostHWND1,  A, Discord
B::ControlSend, Chrome_RenderWidgetHostHWND1,  B, Discord

Заранее Спасибо!
Ещё один вопрос: у меня в Gui, куда нужно посылать все нажатия, находится такой Edit

Gui Add, Edit, HwndhEdit

Почему, в этом:

%hEdit%

содержатся такие коды:0x1f198e.., а не 12354132?

2 (изменено: danyalukashak, 2018-01-15 05:03:04)

Re: AHK:ControlSend всех нажатий клавиш в неактивное окно.

stealzy, я знаю, что Вы мне писали. Но я не смог разобраться с клавиатурным хуком (нашёл на форуме код, но так как я новичок я в нём ничего не понимаю) и пример, который Вы мне привели с Format, я тоже не очень понимаю, к тому-же в моём случае всё куда не понятнее. При каждом перезапуске скрипта, одно и тоже, что я ввожу выводит разные значения(коды). К примеру: я ввёл "123", а оно сперва вывело-0x440670, во второй раз-0x120ce8, а в третий-0x1d303b4.

#Persistent
#NoEnv
#SingleInstance, Force
x=0
DetectHiddenWindows, On
SetWorkingDir %A_ScriptDir%
SetTitleMatchMode, 2
controlID:= 0
string:=Hi
return
F1::
  Gui Add, Edit, HwndhEdit
  Gui Color, 0
  Gui +Lastfound +ToolWindow +AlwaysOnTop -Caption -Border
  WinSet TransColor, 0
return
F3::
  x=1
  Gui Show, NA
  Gui +E0x20
return
#If x=1
  1::
    ControlSend,, {vk31}, ahk_id %hEdit%
  return
  2::
    ControlSend,, {vk32}, ahk_id %hEdit%
  return
  3::
    ControlSend,, {vk33}, ahk_id %hEdit%
  return
  Enter::
    Gui, Submit
    GuiControl,, hEdit, "" 
    x=0
    Gui Hide
    ControlFocus,, ahk_id 0x203dc
    ControlSend, Chrome_RenderWidgetHostHWND1, %hEdit%{Enter}, Discord
  return  
#If

Вот код на данный момент(не работающий, к тому-же

GuiControl,, hEdit, ""

эта строчка даже не обнуляет hEdit).

3 (изменено: svoboden, 2018-01-15 14:00:30)

Re: AHK:ControlSend всех нажатий клавиш в неактивное окно.

А что именно в Discord нужно послать.

4 (изменено: danyalukashak, 2018-01-15 16:54:25)

Re: AHK:ControlSend всех нажатий клавиш в неактивное окно.

svoboden, ControlFocus,, ahk_id 0x203dc - Таким образом я делаю Focus на чате Discord'a, без этой строчки не работает.
stealzy, Я в игре должен нажимать на кнопку "F3" И в этот момент на экране появляется GUI со всем прозрачным, кроме одного Edit, в который я буду что-то писать и при нажатии "Enter" это должно отправляться в Discord.
Я вот эти строчки
           ||
           \/
ControlSend,, {vk31}, ahk_id %hEdit%
Gui Add, Edit, HwndhEdit
Заменил на это
           ||
           \/
ControlSend,, {vk31}, ahk_id %MyEdit%
Gui Add, Edit, r8 vMyEdit
Но это не дало результата. Теперь я вообще не могу писать в Edit.

5

Re: AHK:ControlSend всех нажатий клавиш в неактивное окно.

В переменную идущую за Hwnd сохраняется хендл контрола (его уникальное имя). В переменную после v сохраняется содержимое контрола.
Проясняется?

6

Re: AHK:ControlSend всех нажатий клавиш в неактивное окно.

stealzy, спасибо, это я прояснил. А что делать с тем, что когда я поменял Edit с HwndhEdit на vMyEdit, то я не могу в него что-либо передавать. Как это исправить?

7

Re: AHK:ControlSend всех нажатий клавиш в неактивное окно.

stealzy, я не настолько умный, что-бы понять, что вы сказали.

8

Re: AHK:ControlSend всех нажатий клавиш в неактивное окно.

stealzy, я не настолько умный, что-бы понять как это можно применить к скрипту. Поменять ControlSend?

9

Re: AHK:ControlSend всех нажатий клавиш в неактивное окно.

stealzy, я чай редко пью. Но для нормальных людей нужно и то, и то.

10 (изменено: danyalukashak, 2018-01-16 02:21:50)

Re: AHK:ControlSend всех нажатий клавиш в неактивное окно.

stealzy, но стоп, получается мне нужно сделать Edit с Hwnd и v. Но если я напишу так HwndvEdit, то получается что-то непонятное. Можете помочь?

11 (изменено: svoboden, 2019-01-05 06:47:50)

Re: AHK:ControlSend всех нажатий клавиш в неактивное окно.

Так в Discord`e api же есть. Вот, нашел библиотеку на JavaScript.
Вот на ahk: https://github.com/G33kDude/Discord.ahk.

12 (изменено: stealzy, 2018-01-18 11:37:54)

Re: AHK:ControlSend всех нажатий клавиш в неактивное окно.

Gui Add, Edit, HwndhEdit vSoderzhimoeEdit
ControlSend,, %SoderzhimoeEdit%, ahk_id %hEdit%