<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Любой Hotkey, который могу задать в окне GUI]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8221&amp;type=atom" />
	<updated>2013-04-08T18:10:51Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=8221</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Любой Hotkey, который могу задать в окне GUI]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=71217#p71217" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Спасибо это то что нужно</p></blockquote></div><p>Думаю, что это больше подойдёт:<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>

#SingleInstance force  

HK_AutoZoom := &quot;vk58&quot; , HK_Autorun := &quot;!vk20&quot; , HK_Other3 := &quot;F1&quot;

Gui, Color, FF8C00
Gui, Add, Edit, x10 w40 Center Number Limit4 gEditSave vInShootValue, % InShootValue := 300 
Gui, Add, Text, yp+2 x+10, Время зажатия стрельбы 

Gui, Add, Edit, x10 w40 Center Number Limit4 gEditSave vUnShootValue, % UnShootValue := 150 
Gui, Add, Text, yp+2 x+10, Время между зажатиями 
Gui, Add, Text, yp+30 x10 vFocusText, - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GuiControl, Focus, FocusText

Gui, Add, CheckBox, x10 y+10 gCheckBox vCheck_AutoZoom, % &quot;   AutoZoom&quot;
Gui, Add, Edit, x10 w250 Center ReadOnly -Background gSave HWNDvHK_AutoZoom vAutoZoom, % HF_ReadVar(Pr_HK_AutoZoom := HK_AutoZoom)

Gui, Add, CheckBox, x10 y+10 gCheckBox vCheck_Autorun, % &quot;   Autorun&quot;
Gui, Add, Edit, x10 w250 Center ReadOnly -Background gSave HWNDvHK_Autorun vAutorun, % HF_ReadVar(Pr_HK_Autorun := HK_Autorun)

Gui, Add, CheckBox, x10 y+10 gCheckBox vCheck_Other3, % &quot;   Такой ещё другой&quot;
Gui, Add, Edit, x10 w250 Center ReadOnly -Background gSave HWNDvHK_Other3 vOther3, % HF_ReadVar(Pr_HK_Other3 := HK_Other3)

HF_HotkeyUserFunc(&quot;vHK_AutoZoom|vHK_Autorun|vHK_Other3&quot;) 
Gui, Show,, MyHotkeys
Return 

CheckBox:
    GuiControlGet, %A_GuiControl%     
    GuiControl := Ltrim(A_GuiControl, &quot;Check_&quot;) 
    Hotkey, % HK_%GuiControl%, P_%GuiControl%, % Check_%GuiControl% = 1 ? &quot; UseErrorLevel On&quot; : &quot; UseErrorLevel Off&quot;  
    Return
    
Save:
    Hotkey, % Pr_HK_%A_GuiControl%, P_%A_GuiControl%, UseErrorLevel Off  
    Pr_HK_%A_GuiControl% := HK_%A_GuiControl% 
    Hotkey, % HK_%A_GuiControl%, P_%A_GuiControl%, % Check_%A_GuiControl% = 1 ? &quot; UseErrorLevel On&quot; : &quot; UseErrorLevel Off&quot;  
    Return
    
EditSave:
    GuiControlGet, %A_GuiControl%   
    Return
    
    ; ---------------------------------------------- Подпрограммы ----------------------------------------------
    
P_AutoZoom:
    ToolTip % &quot;Подпрограмма - &quot; A_ThisLabel &quot;`nКнопка - &quot; HF_ReadVar(A_ThisHotkey) &quot;`n`nInShootValue = &quot; InShootValue &quot;`nUnShootValue = &quot; UnShootValue
    Return
    
P_Autorun:
    ToolTip % &quot;Подпрограмма - &quot; A_ThisLabel &quot;`nКнопка - &quot; HF_ReadVar(A_ThisHotkey) &quot;`n`nInShootValue = &quot; InShootValue &quot;`nUnShootValue = &quot; UnShootValue
    Return
    
P_Other3:
    ToolTip % &quot;Подпрограмма - Такой ещё другой`nКнопка - &quot; HF_ReadVar(A_ThisHotkey) &quot;`n`nInShootValue = &quot; InShootValue &quot;`nUnShootValue = &quot; UnShootValue
    Return

</code></pre></div><p>&nbsp; &nbsp;!&nbsp; &nbsp;СНИЗУ КОНЕЧНО-ЖЕ БИБЛИОТЕКА&nbsp; &nbsp;!</p></div></div><p><em>1:32 09.04.2013</em><br />Улучшил производительность.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2013-04-08T18:10:51Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=71217#p71217</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Любой Hotkey, который могу задать в окне GUI]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=71215#p71215" />
			<content type="html"><![CDATA[<p>Все отлично работает. Спасибо <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> И за библиотеку HotkeyUserFunc тоже спасибо)</p>]]></content>
			<author>
				<name><![CDATA[Dworkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27052</uri>
			</author>
			<updated>2013-04-08T16:32:07Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=71215#p71215</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Любой Hotkey, который могу задать в окне GUI]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=71214#p71214" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Только нубский вопрос)</p></blockquote></div><p>Так </p><div class="codebox"><pre><code>While GetKeyState(A_ThisHotkey, &quot;P&quot;)</code></pre></div><p> если кнопка без модификатора. </p><p>Для нуба, у вас маловато вопросов...</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2013-04-08T16:22:03Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=71214#p71214</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Любой Hotkey, который могу задать в окне GUI]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=71213#p71213" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>ypppu пишет:</cite><blockquote><p><span style="color: green"><strong>Dworkin</strong>, исправьте заголовок темы - окончания не согласованы.</span><br />И большая просьба из всех сообщений убрать слово &quot;стрельба&quot;.</p></blockquote></div><p>Исправил</p><div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;такой</div><div class="fancy_spoiler"><div class="codebox"><pre><code>

#UseHook  
Gui, Add, CheckBox, x10 gCheckBox vDelayShoot, On / Off Стрельбу на эту клавишу  
Gui, Add, Edit, x10 w40 Center Number Limit4 gEdit vInShootValue, % InShootValue := 300 
Gui, Add, Text, yp x+10, Время зажатия стрельбы 
Gui, Add, Edit, x10 w40 Center Number Limit4 gEdit vUnShootValue, % UnShootValue := 150 
Gui, Add, Text, yp x+10, Время между зажатиями 
Gui, Add, Edit, x10 w250 Center ReadOnly gCheckBox HWNDvMyHotkey, X
Gui, Add, Text, Center, Горячая клавиша, `nкоторую надо зажать для стрельбы
HF_HotkeyUserFunc(&quot;vMyHotkey&quot;) , MyHotkey := &quot;vk58&quot;
Gui, Show, , New GUI Window  
Return 
    
CheckBox:
    Hotkey, %PrMyHotkey%, DelayShoot, UseErrorLevel Off
    PrMyHotkey := MyHotkey
    GuiControlGet, DelayShoot
    Hotkey, %MyHotkey%, DelayShoot, % (DelayShoot = 1) ? &quot; UseErrorLevel On&quot; : &quot; UseErrorLevel Off&quot;  
    return
    
Edit:
    GuiControlGet UnShootValue
    GuiControlGet InShootValue  
    Return 
    
DelayShoot:   
    ToolTip % &quot;Подпрограмма - &quot; A_ThisLabel &quot;`nКнопка - &quot; HF_ReadVar(A_ThisHotkey) &quot;`nInShootValue = &quot; InShootValue &quot;`nUnShootValue = &quot; UnShootValue
    return  
    
    


    

    
    
    
    ; --------------- Далее библиотека, которую по чудесным и необъянимым причинам нельзя загрузить директивой #Include  ----------------------------------------------
    
    


    

    
    
    
HF_HotkeyUserFunc(HF_Control)  { ;***
    Global
    Loop, Parse, HF_Control, |
        HF_Ceil := Ceil(%A_LoopField%) , HF_Control_%HF_Ceil% := SubStr(A_LoopField, 2)
    HF_ModButtons := {&quot;vkA4&quot;:&quot;Alt&quot;,&quot;vkA5&quot;:&quot;Alt&quot;,&quot;vkA2&quot;:&quot;Ctrl&quot;,&quot;vkA3&quot;:&quot;Ctrl&quot;,&quot;vkA0&quot;:&quot;Shift&quot;,&quot;vkA1&quot;:&quot;Shift&quot;,&quot;vk5B&quot;:&quot;Win&quot;,&quot;vk5C&quot;:&quot;Win&quot;}
    HF_PrefMod := {&quot;Alt&quot;:&quot;!&quot;,&quot;Ctrl&quot;:&quot;^&quot;,&quot;Shift&quot;:&quot;+&quot;,&quot;Win&quot;:&quot;#&quot;}
    HF_Buttons := &quot;|vkBA|vkBB|vkBC|vkBD|vkBE|vkBF|vkC0|vkDB|vkDC|vkDD|vkDE|vk41|vk42|vk43|vk44|vk45|vk46|vk47|vk48|&quot;
                . &quot;vk49|vk4A|vk4B|vk4C|vk4D|vk4E|vk4F|vk50|vk51|vk52|vk53|vk54|vk55|vk56|vk57|vk58|vk59|vk5A|&quot;
    OnExit, HF_Exit
    SetBatchLines -1
    HF_PID := DllCall(&quot;GetCurrentProcessId&quot;)
    Return OnMessage(0x111, &quot;HF_WaitControl&quot;)

    HF_Exit:
        DllCall(&quot;UnhookWindowsHookEx&quot;, UInt, HF_State)
        Send, {LButton Up}{LCtrl Up}{RCtrl Up}{LShift Up}{RShift Up}{LAlt Up}{RAlt Up}{LWin Up}{RWin Up}
        ExitApp
} ;**

HF_WaitControl( HF_Param, HF_Handle) { ;***
    Global 
    If HF_Control_%HF_Handle% &lt;&gt;
    {
        HF_ControlName := HF_Control_%HF_Handle% , HF_HWNDControl := HF_Handle
        If (HF_Param &gt;&gt; 16 = 0x100)        ;    EN_SETFOCUS
            HF_State := DllCall(&quot;SetWindowsHookEx&quot;, Int, WH_KEYBOARD_LL := 13, UInt, RegisterCallback(&quot;HF_Write&quot;, &quot;Fast&quot;)
                        , UInt, DllCall(&quot;GetModuleHandle&quot;, UInt, 0), UInt, 0)   ,     HF_DelStr := &quot;&quot; 
        If (HF_Param &gt;&gt; 16 = 0x200)        ;    EN_KILLFOCUS
        {
            HF_UnHook()
            Return
        }
    }
    IfWinNotActive, ahk_pid %HF_PID%
        HF_UnHook()
} ;** 

HF_UnHook() { ;***
    Global 
    DllCall(&quot;UnhookWindowsHookEx&quot;, UInt, HF_State)
    HF_ModCtrl := HF_ModAlt := HF_ModShift := HF_ModWin := HF_PrefModCtrl := HF_PrefModAlt := HF_PrefModShift := HF_PrefModWin := HF_Prefix := HF_State := &quot;&quot;
    If HF_DelStr = 1
        GuiControl, , % HF_HWNDControl, % &quot;Нет&quot;
} ;**             

HF_Write(HF_nCode, HF_wParam, HF_lParam)  { ;***
    Global
    SetFormat, IntegerFast, H 
    HF_VkCode := &quot;vk&quot; SubStr( NumGet(HF_lParam+0), 3)
    HF_D := ((NumGet(HF_lParam+0, 8) &amp; 1) &lt;&lt;8) | NumGet(HF_lParam+0, 4)
    HF_SCCode := &quot;sc&quot; SubStr((HF_D = 0x136 ? 0x36 : HF_D), 3)
    IF (HF_wParam = 0x100 || HF_wParam = 0x104)   ; WM_KEYDOWN = 0x100, WM_SYSKEYDOWN = 0x104
    {
        IF HF_IS_Mod := HF_ModButtons[HF_VkCode]
            GoTo, HF_PressMod
        GoTo, HF_Write
    }
    IF HF_IS_Mod := HF_ModButtons[HF_VkCode]
        GoTo, HF_PressMod_Up
    Return HF_nCode &lt; 0 ? HF_CallNextHookEx(HF_nCode, HF_wParam, HF_lParam) : 1

    HF_PressMod_Up:
        HF_Mod%HF_IS_Mod% := HF_PrefMod%HF_IS_Mod% := &quot;&quot;
        If (HF_Hotkey &lt;&gt; &quot;&quot;)
            Return HF_nCode &lt; 0 ? HF_CallNextHookEx(HF_nCode, HF_wParam, HF_lParam) : 1
        GoTo, HF_Write

    HF_PressMod:
        If HF_Mod%HF_IS_Mod% &lt;&gt;
            Return HF_nCode &lt; 0 ? HF_CallNextHookEx(HF_nCode, HF_wParam, HF_lParam) : 1
        HF_Mod%HF_IS_Mod% := HF_IS_Mod &quot;+&quot; , HF_PrefMod%HF_IS_Mod% := HF_PrefMod[HF_IS_Mod] , HF_Hotkey := &quot;&quot;

    HF_Write:
        HF_IS_Mod &lt;&gt; &quot;&quot; ? (HF_KeyName := HF_Hotkey := HF_Prefix := &quot;&quot; , HF_DelStr := &quot;1&quot;) : (HF_KeyName := GetKeyName(HF_VkCode HF_SCCode) , HF_DelStr := &quot;&quot; 
        , HF_Hotkey := (HF_Buttons ~= &quot;\|&quot; HF_VkCode &quot;\|&quot;) ? HF_VkCode : HF_KeyName , HF_Prefix := HF_PrefModCtrl HF_PrefModAlt HF_PrefModShift HF_PrefModWin) 
        %HF_ControlName% := HF_Prefix HF_Hotkey
        GuiControl, , % HF_HWNDControl, % HF_ModCtrl HF_ModAlt HF_ModShift HF_ModWin HF_KeyName = &quot;&quot; ? &quot;Нет&quot; : HF_ModCtrl HF_ModAlt HF_ModShift HF_ModWin HF_KeyName
        Return HF_nCode &lt; 0 ? HF_CallNextHookEx(HF_nCode, HF_wParam, HF_lParam) : 1
} ;**

HF_CallNextHookEx(nCode, wp, lp) { ;***
   Return DllCall(&quot;CallNextHookEx&quot;, UInt, 0, Int, nCode, UInt, wp, UInt, lp)
} ;**
    ; -------------------------------------- Read -------------------------------------- 
HF_Read(Key, Section, Path) { ;***
    Global HF_DelStr := &quot;&quot;
    IniRead, Key, % Path, % Section, % Key, % A_Space 
    If Key =
        Return &quot;Нет&quot;
    RegExMatch(Rtrim(Key, &quot;}&quot;), &quot;S)^([\^\!\+#]*)\{?(.*)&quot;, K)
    Return RegExReplace(RegExReplace(RegExReplace(RegExReplace( K1,&quot;\+&quot;,&quot;Shift+&quot;),&quot;\!&quot;,&quot;Alt+&quot;),&quot;\^&quot;,&quot;Ctrl+&quot;),&quot;#&quot;,&quot;Win+&quot;)
        . (K2 ~= &quot;^vk&quot; ? GetKeyName(K2) : K2)
} ;**

HF_ReadVar(Key) { ;***
    RegExMatch(Rtrim(Key, &quot;}&quot;), &quot;S)^([\^\!\+#]*)\{?(.*)&quot;, K)
    Return RegExReplace(RegExReplace(RegExReplace(RegExReplace( K1,&quot;\+&quot;,&quot;Shift+&quot;),&quot;\!&quot;,&quot;Alt+&quot;),&quot;\^&quot;,&quot;Ctrl+&quot;),&quot;#&quot;,&quot;Win+&quot;)
        . (K2 ~= &quot;^vk&quot; ? GetKeyName(K2) : K2)
} ;**

HF_ReadToSend(Key, Section = &quot;&quot;, Path = &quot;&quot;) { ;*** 
    If (Section &lt;&gt; &quot;&quot;)
        IniRead, Key, % Path, % Section, % Key, % A_Space 
    Return RegExReplace( Key, &quot;S)\w+&quot;, &quot;{$0}&quot;)
} ;**

</code></pre></div></div></div></blockquote></div><p>Спасибо это то что нужно <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><p>Только нубский вопрос)<br /></p><div class="codebox"><pre><code>DelayShoot:  
While % GetKeyState(&quot;HF_ReadVar(A_ThisHotkey)&quot;, &quot;P&quot;)
{
   send {vk11 down}
   Sleep, InShootValue
   send {vk11 up}
   sleep, UnShootValue
}
Return</code></pre></div><p>Как сделать чтобы работало?</p>]]></content>
			<author>
				<name><![CDATA[Dworkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27052</uri>
			</author>
			<updated>2013-04-08T16:14:32Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=71213#p71213</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Любой Hotkey, который могу задать в окне GUI]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=71210#p71210" />
			<content type="html"><![CDATA[<div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;такой</div><div class="fancy_spoiler"><div class="codebox"><pre><code>

#UseHook  
Gui, Add, CheckBox, x10 gCheckBox vDelayShoot, On / Off Стрельбу на эту клавишу  
Gui, Add, Edit, x10 w40 Center Number Limit4 gEdit vInShootValue, % InShootValue := 300 
Gui, Add, Text, yp x+10, Время зажатия стрельбы 
Gui, Add, Edit, x10 w40 Center Number Limit4 gEdit vUnShootValue, % UnShootValue := 150 
Gui, Add, Text, yp x+10, Время между зажатиями 
Gui, Add, Edit, x10 w250 Center ReadOnly gCheckBox HWNDvMyHotkey, X
Gui, Add, Text, Center, Горячая клавиша, `nкоторую надо зажать для стрельбы
HF_HotkeyUserFunc(&quot;vMyHotkey&quot;) , MyHotkey := &quot;vk58&quot;
Gui, Show, , New GUI Window  
Return 
    
CheckBox:
    Hotkey, %PrMyHotkey%, DelayShoot, UseErrorLevel Off
    PrMyHotkey := MyHotkey
    GuiControlGet, DelayShoot
    Hotkey, %MyHotkey%, DelayShoot, % (DelayShoot = 1) ? &quot; UseErrorLevel On&quot; : &quot; UseErrorLevel Off&quot;  
    return
    
Edit:
    GuiControlGet UnShootValue
    GuiControlGet InShootValue  
    Return 
    
DelayShoot:   
    ToolTip % &quot;Подпрограмма - &quot; A_ThisLabel &quot;`nКнопка - &quot; HF_ReadVar(A_ThisHotkey) &quot;`nInShootValue = &quot; InShootValue &quot;`nUnShootValue = &quot; UnShootValue
    return  
    
    


    

    
    
    
    ; --------------- Далее библиотека, которую по чудесным и необъянимым причинам нельзя загрузить директивой #Include  ----------------------------------------------
    
    


    

    
    
    
HF_HotkeyUserFunc(HF_Control)  { ;***
    Global
    Loop, Parse, HF_Control, |
        HF_Ceil := Ceil(%A_LoopField%) , HF_Control_%HF_Ceil% := SubStr(A_LoopField, 2)
    HF_ModButtons := {&quot;vkA4&quot;:&quot;Alt&quot;,&quot;vkA5&quot;:&quot;Alt&quot;,&quot;vkA2&quot;:&quot;Ctrl&quot;,&quot;vkA3&quot;:&quot;Ctrl&quot;,&quot;vkA0&quot;:&quot;Shift&quot;,&quot;vkA1&quot;:&quot;Shift&quot;,&quot;vk5B&quot;:&quot;Win&quot;,&quot;vk5C&quot;:&quot;Win&quot;}
    HF_PrefMod := {&quot;Alt&quot;:&quot;!&quot;,&quot;Ctrl&quot;:&quot;^&quot;,&quot;Shift&quot;:&quot;+&quot;,&quot;Win&quot;:&quot;#&quot;}
    HF_Buttons := &quot;|vkBA|vkBB|vkBC|vkBD|vkBE|vkBF|vkC0|vkDB|vkDC|vkDD|vkDE|vk41|vk42|vk43|vk44|vk45|vk46|vk47|vk48|&quot;
                . &quot;vk49|vk4A|vk4B|vk4C|vk4D|vk4E|vk4F|vk50|vk51|vk52|vk53|vk54|vk55|vk56|vk57|vk58|vk59|vk5A|&quot;
    OnExit, HF_Exit
    SetBatchLines -1
    HF_PID := DllCall(&quot;GetCurrentProcessId&quot;)
    Return OnMessage(0x111, &quot;HF_WaitControl&quot;)

    HF_Exit:
        DllCall(&quot;UnhookWindowsHookEx&quot;, UInt, HF_State)
        Send, {LButton Up}{LCtrl Up}{RCtrl Up}{LShift Up}{RShift Up}{LAlt Up}{RAlt Up}{LWin Up}{RWin Up}
        ExitApp
} ;**

HF_WaitControl( HF_Param, HF_Handle) { ;***
    Global 
    If HF_Control_%HF_Handle% &lt;&gt;
    {
        HF_ControlName := HF_Control_%HF_Handle% , HF_HWNDControl := HF_Handle
        If (HF_Param &gt;&gt; 16 = 0x100)        ;    EN_SETFOCUS
            HF_State := DllCall(&quot;SetWindowsHookEx&quot;, Int, WH_KEYBOARD_LL := 13, UInt, RegisterCallback(&quot;HF_Write&quot;, &quot;Fast&quot;)
                        , UInt, DllCall(&quot;GetModuleHandle&quot;, UInt, 0), UInt, 0)   ,     HF_DelStr := &quot;&quot; 
        If (HF_Param &gt;&gt; 16 = 0x200)        ;    EN_KILLFOCUS
        {
            HF_UnHook()
            Return
        }
    }
    IfWinNotActive, ahk_pid %HF_PID%
        HF_UnHook()
} ;** 

HF_UnHook() { ;***
    Global 
    DllCall(&quot;UnhookWindowsHookEx&quot;, UInt, HF_State)
    HF_ModCtrl := HF_ModAlt := HF_ModShift := HF_ModWin := HF_PrefModCtrl := HF_PrefModAlt := HF_PrefModShift := HF_PrefModWin := HF_Prefix := HF_State := &quot;&quot;
    If HF_DelStr = 1
        GuiControl, , % HF_HWNDControl, % &quot;Нет&quot;
} ;**             

HF_Write(HF_nCode, HF_wParam, HF_lParam)  { ;***
    Global
    SetFormat, IntegerFast, H 
    HF_VkCode := &quot;vk&quot; SubStr( NumGet(HF_lParam+0), 3)
    HF_D := ((NumGet(HF_lParam+0, 8) &amp; 1) &lt;&lt;8) | NumGet(HF_lParam+0, 4)
    HF_SCCode := &quot;sc&quot; SubStr((HF_D = 0x136 ? 0x36 : HF_D), 3)
    IF (HF_wParam = 0x100 || HF_wParam = 0x104)   ; WM_KEYDOWN = 0x100, WM_SYSKEYDOWN = 0x104
    {
        IF HF_IS_Mod := HF_ModButtons[HF_VkCode]
            GoTo, HF_PressMod
        GoTo, HF_Write
    }
    IF HF_IS_Mod := HF_ModButtons[HF_VkCode]
        GoTo, HF_PressMod_Up
    Return HF_nCode &lt; 0 ? HF_CallNextHookEx(HF_nCode, HF_wParam, HF_lParam) : 1

    HF_PressMod_Up:
        HF_Mod%HF_IS_Mod% := HF_PrefMod%HF_IS_Mod% := &quot;&quot;
        If (HF_Hotkey &lt;&gt; &quot;&quot;)
            Return HF_nCode &lt; 0 ? HF_CallNextHookEx(HF_nCode, HF_wParam, HF_lParam) : 1
        GoTo, HF_Write

    HF_PressMod:
        If HF_Mod%HF_IS_Mod% &lt;&gt;
            Return HF_nCode &lt; 0 ? HF_CallNextHookEx(HF_nCode, HF_wParam, HF_lParam) : 1
        HF_Mod%HF_IS_Mod% := HF_IS_Mod &quot;+&quot; , HF_PrefMod%HF_IS_Mod% := HF_PrefMod[HF_IS_Mod] , HF_Hotkey := &quot;&quot;

    HF_Write:
        HF_IS_Mod &lt;&gt; &quot;&quot; ? (HF_KeyName := HF_Hotkey := HF_Prefix := &quot;&quot; , HF_DelStr := &quot;1&quot;) : (HF_KeyName := GetKeyName(HF_VkCode HF_SCCode) , HF_DelStr := &quot;&quot; 
        , HF_Hotkey := (HF_Buttons ~= &quot;\|&quot; HF_VkCode &quot;\|&quot;) ? HF_VkCode : HF_KeyName , HF_Prefix := HF_PrefModCtrl HF_PrefModAlt HF_PrefModShift HF_PrefModWin) 
        %HF_ControlName% := HF_Prefix HF_Hotkey
        GuiControl, , % HF_HWNDControl, % HF_ModCtrl HF_ModAlt HF_ModShift HF_ModWin HF_KeyName = &quot;&quot; ? &quot;Нет&quot; : HF_ModCtrl HF_ModAlt HF_ModShift HF_ModWin HF_KeyName
        Return HF_nCode &lt; 0 ? HF_CallNextHookEx(HF_nCode, HF_wParam, HF_lParam) : 1
} ;**

HF_CallNextHookEx(nCode, wp, lp) { ;***
   Return DllCall(&quot;CallNextHookEx&quot;, UInt, 0, Int, nCode, UInt, wp, UInt, lp)
} ;**
    ; -------------------------------------- Read -------------------------------------- 
HF_Read(Key, Section, Path) { ;***
    Global HF_DelStr := &quot;&quot;
    IniRead, Key, % Path, % Section, % Key, % A_Space 
    If Key =
        Return &quot;Нет&quot;
    RegExMatch(Rtrim(Key, &quot;}&quot;), &quot;S)^([\^\!\+#]*)\{?(.*)&quot;, K)
    Return RegExReplace(RegExReplace(RegExReplace(RegExReplace( K1,&quot;\+&quot;,&quot;Shift+&quot;),&quot;\!&quot;,&quot;Alt+&quot;),&quot;\^&quot;,&quot;Ctrl+&quot;),&quot;#&quot;,&quot;Win+&quot;)
        . (K2 ~= &quot;^vk&quot; ? GetKeyName(K2) : K2)
} ;**

HF_ReadVar(Key) { ;***
    RegExMatch(Rtrim(Key, &quot;}&quot;), &quot;S)^([\^\!\+#]*)\{?(.*)&quot;, K)
    Return RegExReplace(RegExReplace(RegExReplace(RegExReplace( K1,&quot;\+&quot;,&quot;Shift+&quot;),&quot;\!&quot;,&quot;Alt+&quot;),&quot;\^&quot;,&quot;Ctrl+&quot;),&quot;#&quot;,&quot;Win+&quot;)
        . (K2 ~= &quot;^vk&quot; ? GetKeyName(K2) : K2)
} ;**

HF_ReadToSend(Key, Section = &quot;&quot;, Path = &quot;&quot;) { ;*** 
    If (Section &lt;&gt; &quot;&quot;)
        IniRead, Key, % Path, % Section, % Key, % A_Space 
    Return RegExReplace( Key, &quot;S)\w+&quot;, &quot;{$0}&quot;)
} ;**

</code></pre></div></div></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2013-04-08T15:40:22Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=71210#p71210</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Любой Hotkey, который могу задать в окне GUI]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=71207#p71207" />
			<content type="html"><![CDATA[<p><strong>ypppu</strong><br />Полностью присоединяюсь.<br /></p><div class="quotebox"><blockquote><p>конечно я туда подавлял и другие скрипты, но для примера решил эти выделить(AutoZoom и Autorun</p></blockquote></div><p>Ну так это надо сразу уточнять. И нельзя в скрипт добавить другие скрипты, можно добавить только новые методы. <br /></p><div class="quotebox"><blockquote><p>Теперь сюда же я хотел бы добавить</p></blockquote></div><p> Я же вам написал:<br /></p><div class="quotebox"><blockquote><p>Обходить все несуразности работы &quot;GUI Hotkey&quot; долго и того не стоит. Могу только предложить вариант построения работы на этой билиотеке.</p></blockquote></div><p>----------------------<br /></p><div class="quotebox"><blockquote><p>я хотел бы добавить то что излагал выше</p></blockquote></div><div class="quotebox"><blockquote><p>и добавить сюда все что я описал выше</p></blockquote></div><p>Офигенное ТЗ. А то что из изложенного выше ничего не ясно, и об этом перед этим было написано, конечно не важно.<br />Нужно от начала до конца, заново, возможно другими словами... Так, как если что-то забыл, то потом никто не поможет... и.т.п.<br /></p><div class="quotebox"><blockquote><p>На numpad&#039;e работает, но это не удобно(</p></blockquote></div><p><span class="postimg"><img src="http://s019.radikal.ru/i606/1203/58/7b55e7d0f1c8.jpg" alt="http://s019.radikal.ru/i606/1203/58/7b55e7d0f1c8.jpg" /></span>&nbsp; &nbsp;&lt;- не удержался...<br />Ну а если <strong>не</strong>серьёзно, то кроме как кнопки numpad, другие действительно нетребуются <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /><br />Или может просто стоит спросить почему неполучается назначить другие, и подробно рассказать что сделал с имеющимся кодом.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2013-04-08T15:07:55Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=71207#p71207</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Любой Hotkey, который могу задать в окне GUI]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=71203#p71203" />
			<content type="html"><![CDATA[<p><span style="color: green"><strong>Dworkin</strong>, исправьте заголовок темы - окончания не согласованы.</span><br />И большая просьба из всех сообщений убрать слово &quot;стрельба&quot;.</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2013-04-08T13:28:48Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=71203#p71203</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Любой Hotkey, который могу задать в окне GUI]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=71201#p71201" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><div class="quotebox"><blockquote><p>но он не работает правильно.</p></blockquote></div><p>И не должен <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />Ошибка из-за несоответствия имени кнопки языку ввода. Попробуйте сначала установить для окна английскую и проверьте. Или попробуйте на цифровых кнопках, всё будет работать. Обходить все несуразности работы &quot;GUI Hotkey&quot; долго и того не стоит. Могу только предложить вариант построения работы на <a href="http://forum.script-coding.com/viewtopic.php?pid=69765#p69765">этой билиотеке</a>.<br /></p><div class="quotebox"><blockquote><p>Конечный алгоритм...не уверен что вы имеет ввиду...</p></blockquote></div><p>Описать желаемое более подробно. Добавлять ли в код ещё функции, или нужна только одна кнопка. Написать нужно ли сохранять последний Hotkey для последующего старта скрипта и.т.п.</p></blockquote></div><p>На numpad&#039;e работает, но это не удобно(</p><p>Вот скрипт, который работает с которым вы мне помогли, конечно я туда подобавлял и другие скрипты, но для примера решил эти выделить(AutoZoom и Autorun)<br /></p><div class="codebox"><pre><code>#UseHook
Hotkey := {&quot;AutoZoom&quot;:&quot;vk58&quot;,&quot;Autorun&quot;:&quot;vk20&quot;} 
    
Gui, Add, CheckBox, gCheckBox vAutoZoom , Auto zoom 
Gui, Add, CheckBox, gCheckBox vAutorun , Auto run
Gui, Show,, CheckBox
Return

GuiClose:
    ExitApp

CheckBox:
    GuiControlGet, %A_GuiControl%   
    Hotkey, % Hotkey[A_GuiControl], %A_GuiControl%, % %A_GuiControl% = 1 ? &quot;On&quot; : &quot;Off&quot;
    return

AutoZoom:
     Loop
    {
        if not GetKeyState(&quot;vk58&quot;, &quot;P&quot;)
            break
        send {wheelup down}
        sleep, 5
        send {wheelup up}
        sleep 5
    }
    return
    
Autorun:
   $vk20::
    Loop  
    {
        if not GetKeyState(&quot;vk20&quot;, &quot;P&quot;)  
            break  
        send {Space down}
        sleep, 20
        send {Space up}
        sleep, 20
        send {Space down}
        sleep, 20
        send {Space up}
        sleep, 20
        send {Space down}
        sleep, 20    
        send {Space up}
        sleep, 20
        send {Space down}
        sleep, 20
        send {Space up}
        sleep, 20
        send {Space down}
        sleep, 20
        send {Space up}
        sleep, 20
        send {Space down}
        sleep, 20
        send {Space up}
        sleep, 20
     }
     return
    </code></pre></div><p>Теперь сюда же я хотел бы добавить то что излагал выше. То есть оставить то что сейчас в коде, а именно эти горячие клавиши, которые сейчас есть и добавить сюда все что я описал выше притом что бы я задавал горячую клавишу только для скрипта нажатия определенных клавиш. <br />Кстати не надо делать чтобы когда закрыл скрипт и открыл там сохранились мои прошлые горячие клавиши, которые я выставил.</p>]]></content>
			<author>
				<name><![CDATA[Dworkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27052</uri>
			</author>
			<updated>2013-04-08T12:29:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=71201#p71201</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Любой Hotkey, который могу задать в окне GUI]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=71199#p71199" />
			<content type="html"><![CDATA[<p>Тоже на скорую руку с запоминанием всех введённых данных. Для одного действия, но любых кнопок <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br /></p><div class="codebox"><pre><code>

/*
[Hotkey]
DelayShoot=^!+#NumpadAdd
[Set]
CheckBox=1
InShootValue=302 
UnShootValue=153  
*/ 
#UseHook 
#Include HotkeyUserFunc.ahk   

IniRead, Stat, %A_ScriptFullPath%, Set, CheckBox  
Gui, Add, CheckBox, x10 gCheckBox vDelayShoot Checked%Stat%, On / Off Стрельбу на эту клавишу 
IniRead, Stat, %A_ScriptFullPath%, Set, InShootValue 
Gui, Add, Edit, x10 w40 Center Number Limit3 gEdit vInShootValue, %Stat%
Gui, Add, Text, yp x+10, Время зажатия стрельбы
IniRead, Stat, %A_ScriptFullPath%, Set, UnShootValue 
Gui, Add, Edit, x10 w40 Center Number Limit3 gEdit vUnShootValue, %Stat%
Gui, Add, Text, yp x+10, Время между зажатиями 
Gui, Add, Edit, x10 w250 Center ReadOnly gHotkey HWNDvMyHotkey, % HF_Read(&quot;DelayShoot&quot;,&quot;Hotkey&quot;,A_ScriptFullPath) 
HF_HotkeyUserFunc(&quot;vMyHotkey&quot;)
Gui, Add, Text, Center gFocusText vFocusText, Горячая клавиша, `nкоторую надо зажать для стрельбы
Gui, Show, , New GUI Window
Gosub, CheckBox
    
Edit:
    GuiControlGet UnShootValue
    GuiControlGet InShootValue 
    IniWrite, %UnShootValue%, %A_ScriptFullPath%, Set, UnShootValue 
    IniWrite, %InShootValue%, %A_ScriptFullPath%, Set, InShootValue 
    Return
    
Hotkey:  
    Hotkey, %key%, DelayShoot, Off UseErrorLevel
    IniWrite, %MyHotkey%, %A_ScriptFullPath%, Hotkey, DelayShoot 

CheckBox:
    GuiControlGet, DelayShoot  
    IniRead, key, %A_ScriptFullPath%, Hotkey, DelayShoot, %A_Space%  
    Hotkey, %key%, DelayShoot, % (DelayShoot = 1) ? &quot; UseErrorLevel On&quot; : &quot; UseErrorLevel Off&quot; 
    IniWrite, %DelayShoot%, %A_ScriptFullPath%, Set, CheckBox 
    return
    
DelayShoot:   
    ToolTip % &quot;Подпрограмма - &quot; A_ThisLabel &quot;`nКнопка - &quot; HF_ReadVar(A_ThisHotkey) &quot;`nInShootValue = &quot; InShootValue &quot;`nUnShootValue = &quot; UnShootValue
    return


FocusText:
    GuiControl, Focus, FocusText 
    If DelayShoot
        GuiControl, , FocusText, Проверяй!
    Sleep 550
    GuiControl, , FocusText, Горячая клавиша, `nкоторую надо зажать для стрельбы
    Return

</code></pre></div><p>HotkeyUserFunc.ahk положить в папку скрипта.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2013-04-08T10:50:23Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=71199#p71199</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Любой Hotkey, который могу задать в окне GUI]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=71198#p71198" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>но он не работает правильно.</p></blockquote></div><p>И не должен <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />Ошибка из-за несоответствия имени кнопки языку ввода. Попробуйте сначала установить для окна английскую и проверьте. Или попробуйте на цифровых кнопках, всё будет работать. Обходить все несуразности работы &quot;GUI Hotkey&quot; долго и того не стоит. Могу только предложить вариант построения работы на <a href="http://forum.script-coding.com/viewtopic.php?pid=69765#p69765">этой билиотеке</a>.<br /></p><div class="quotebox"><blockquote><p>Конечный алгоритм...не уверен что вы имеет ввиду...</p></blockquote></div><p>Описать желаемое более подробно. Добавлять ли в код ещё функции, или нужна только одна кнопка. Написать нужно ли сохранять последний Hotkey для последующего старта скрипта и.т.п.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2013-04-08T09:39:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=71198#p71198</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Любой Hotkey, который могу задать в окне GUI]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=71193#p71193" />
			<content type="html"><![CDATA[<p>Дело в том что мне надо чтобы код был примерно такого вида.<br />Спасибо за ответ, но он не работает правильно. Может я пошел не тем путем, не знаю.</p><p>Запускаю скрипт, ставлю галочку, зажимаю X все нормально. Далее к окне GUI hotkey я нажимаю другую любую клавишу, снимается галочка, я опять ставлю галочку и тут у меня выдает ошибку<br /><span class="postimg"><img src="http://i52.fastpic.ru/big/2013/0408/48/0b487035d3ba1bca6d15e3e478780a48.png" alt="http://i52.fastpic.ru/big/2013/0408/48/0b487035d3ba1bca6d15e3e478780a48.png" /></span><br />Далее проверяю кнопку, которую я задал - не работает. Нажимаю X тоже не работает.</p><p>Конечный алгоритм...не уверен что вы имеет ввиду...<br />В конечном итоге я хотел бы задавать любую клавишу, то есть например мне не удобно зажимать клавишу F в игре чтобы выполнялась часть скрипта нажатия определенных клавиш и чтобы не лезть опять в код и изменять его во время игры, я просто сворачиваю игру, нажимаю в окне скрипта клавишу например E(любую другую), разворачиваю игру и теперь при зажатой E у меня выполняется часть скрипта нажатия определенных клавиш, если опять не удобно, я выполняю те же самые действия что и раньше.</p>]]></content>
			<author>
				<name><![CDATA[Dworkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27052</uri>
			</author>
			<updated>2013-04-08T00:54:13Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=71193#p71193</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Любой Hotkey, который могу задать в окне GUI]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=71192#p71192" />
			<content type="html"><![CDATA[<p>На скорую руку, для одиночных клавиш:</p><div class="codebox"><pre><code>

#UseHook
Hotkey := {&quot;DelayShoot&quot;:&quot;vk58&quot;} 

Gui, Add, CheckBox, gCheckBox vDelayShoot, On / Off Стрельбу на эту клавишу 
Gui, Add, Edit, gEdit vInShootValue, 300
Gui, Add, Text, , Время зажатия стрельбы
Gui, Add, Edit, gEdit vUnShootValue, 150
Gui, Add, Text, , Время между зажатиями
Gui, Add, Hotkey, Limit128 gHotkey vHotkeykey w250, vk58
Gui, Add, Text, , Горячая клавиша, `nкоторую надо зажать для стрельбы
Gui, Show, , New GUI Window
Return

Hotkey:  
    Hotkey, % Hotkey[&quot;DelayShoot&quot;], DelayShoot, Off UseErrorLevel
    Hotkey.Remove(&quot;DelayShoot&quot;) , Hotkey.Insert(&quot;DelayShoot&quot;, Hotkeykey)
    GuiControl, , DelayShoot, 0   
return

CheckBox:
    GuiControlGet, %A_GuiControl%   
    Hotkey, % Hotkey[A_GuiControl], %A_GuiControl%, % %A_GuiControl% = 1 ? &quot;On&quot; : &quot;Off&quot;
    return
    
Edit:
    GuiControlGet UnShootValue
    GuiControlGet InShootValue
    return
    
DelayShoot:   
    While GetKeyState(A_ThisHotkey, &quot;P&quot;)
    {
        send {vk11 down}
        sleep, %InShootValue%
        send {vk11 up}
        sleep, %UnShootValue%
    }
    return

</code></pre></div><p>Но тут много лишнего, и много не доделанного, не мешало бы вам определится с конечным алгоритмом.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2013-04-07T23:55:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=71192#p71192</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Любой Hotkey, который могу задать в окне GUI]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=71188#p71188" />
			<content type="html"><![CDATA[<p>Здравствуйте. Помогите пожалуйста)</p><p>Вот скрипт:<br /></p><div class="codebox"><pre><code>#UseHook
Hotkey := {&quot;DelayShoot&quot;:&quot;vk58&quot;} 

Gui, Add, Edit, x6 y47 w40 h20 vInShootValue, 300
Gui, Add, Text, x46 y47 w140 h20 , Время зажатия стрельбы
Gui, Add, Edit, x6 y77 w40 h20 vUnShootValue, 150
Gui, Add, Text, x46 y77 w140 h20 , Время между зажатиями
Gui, Add, Hotkey, x6 y107 w40 h30 , 
Gui, Add, Text, x46 y107 w160 h30 , Горячая клавиша`, которую надо зажать для стрельбы
Gui, Add, CheckBox, x6 y7 w170 h30 gCheckBox vDelayShoot, On / Off Стрельбу на эту клавишу
; Generated using SmartGUI Creator 4.0
Gui, Show, x131 y91 h377 w477, New GUI Window
Return

GuiClose:
ExitApp

CheckBox:
    GuiControlGet, %A_GuiControl%   
    Hotkey, % Hotkey[A_GuiControl], %A_GuiControl%, % %A_GuiControl% = 1 ? &quot;On&quot; : &quot;Off&quot;
    return

DelayShoot:
    GuiControlGet InShootValue
    GuiControlGet UnShootValue

While GetKeyState(&quot;vk58&quot;, &quot;P&quot;)
{
   send {vk11 down}
   sleep, %InShootValue%
   send {vk11 up}
   sleep, %UnShootValue%
}
return</code></pre></div><p>Решил создать скрипт в котором в окне GUI я выставляю свои значение. Время зажатой клавиши&nbsp; и время паузы между этими зажатиями. С этим я справился.</p><p>В данном скрипте для активации я ставлю галочку, затем чтобы выполнялось нажатие определенных клавиш я зажимаю X(vk58). <br />Хотел бы чтобы в начале в GUI hotkey я нажимал любую клавишу, которая бы исполнила роль горячей клавиши, которая выполняла бы определенный действия. То есть вместо X я выбрал бы любую другую, которая будет мне удобно и мог бы поменять ее в любой момент.<br />Спасибо)</p>]]></content>
			<author>
				<name><![CDATA[Dworkin]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27052</uri>
			</author>
			<updated>2013-04-07T22:53:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=71188#p71188</id>
		</entry>
</feed>
