<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK/OFF: N.F.A.Q  (Noob Frequently Asked Questions)]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=8248</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8248&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK/OFF: N.F.A.Q  (Noob Frequently Asked Questions)».]]></description>
		<lastBuildDate>Fri, 24 May 2013 14:01:12 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK/OFF: N.F.A.Q  (Noob Frequently Asked Questions)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=72405#p72405</link>
			<description><![CDATA[<div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;AHK: Длительность нажатия горячей клавиши</div><div class="fancy_spoiler"><div class="quotebox"><cite>Adept пишет:</cite><blockquote><p>Можно ли на одну и ту же клавишу назначить разные макросы при том, что один из них будет вызываться по обычному (короткому) нажатию, а другой - по длительному (500-1000 мс)? Как прописать назначение горячей клавиши в последнем случае?</p></blockquote></div><div class="quotebox"><cite>serzh82saratov пишет:</cite><blockquote><div class="codebox"><pre><code>Space::
    KeyWait Space, T0.5 
    If ErrorLevel 
    {
        KeyWait Space
        ToolTip long
    }    
    Else    
    {
        ToolTip short
    }    
    return</code></pre></div></blockquote></div></div></div>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Fri, 24 May 2013 14:01:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=72405#p72405</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK/OFF: N.F.A.Q  (Noob Frequently Asked Questions)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=71639#p71639</link>
			<description><![CDATA[<p>Но можно дать ссылку на подобную тему вместо подобного ответа.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Tue, 23 Apr 2013 19:26:42 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=71639#p71639</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK/OFF: N.F.A.Q  (Noob Frequently Asked Questions)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=71576#p71576</link>
			<description><![CDATA[<div class="quotebox"><blockquote><div class="codebox"><pre><code>так не правильно (синтаксис вообще не корректный):
MsgBox, % h%A_Index+2%

так правильно:
MsgBox, % &quot;h&quot; A_Index+2</code></pre></div></blockquote></div><div class="codebox"><pre><code>i := 1
h3 := 42

MsgBox % &quot;h&quot; i+2

j := i + 2
MsgBox % h%j%</code></pre></div><p>—<br /></p><div class="quotebox"><blockquote><p>Попытаюсь сделать из них какую-то компиляцию.</p></blockquote></div><p>Новые пользователи, задающие однотипные вопросы, не читают справку, не пользуются поиском по форуму, не будут читать подобную тему.</p><p>У каждого нового пользователя уникальная клавиатура и мышь, без всякого сомнения уникальные папиллярные узоры на пальцах, жмущих кнопки и клавиши, каждый пользователь просто вынужден спрашивать как <em>закодить пять кликов когда он нажимет один раз</em>, ведь все предыдущие темы с подобными вопросами не имели к нему отношения.<br />Одной темой форума проблему уникальности нового пользователя не решить.</p>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Sat, 20 Apr 2013 10:03:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=71576#p71576</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK/OFF: N.F.A.Q  (Noob Frequently Asked Questions)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=71568#p71568</link>
			<description><![CDATA[<p>Спасибо <strong>creature.ws</strong> за комментарии. Внес исправления и убрал все коды под спойлеры.</p><p>Помнится завсегдатаи сетовали что много однотипных просьб с &quot;<em>закодьте мне пять кликов когда я нажимаю один раз</em>&quot;. Тыкните в подобные темы. Попытаюсь сделать из них какую-то компиляцию.</p>]]></description>
			<author><![CDATA[null@example.com (Mikki)]]></author>
			<pubDate>Fri, 19 Apr 2013 17:51:19 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=71568#p71568</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK/OFF: N.F.A.Q  (Noob Frequently Asked Questions)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=71561#p71561</link>
			<description><![CDATA[<div class="codebox"><pre><code>так не правильно:
MsgBox, % h%A_Index+2%
так правильно:
MsgBox, % h%A_Index%+2</code></pre></div><p>Фрагменты кода (как мне кажется) подразумевают различный результат.<br />Синтаксис первого выражения неприемлемый, но второе выражение не является «правильной» альтернативой первого.<br /></p><div class="codebox"><pre><code>h%A_Index+2%</code></pre></div><p>Если бы это работало, то результатом было бы содержимое переменной, имя которой состоит из строки &quot;h&quot; и числа являющегося суммой переменной A_index и 2.<br /></p><div class="codebox"><pre><code>varIndex := A_index + 2
msgbox % h%varIndex%</code></pre></div><p>—<br /></p><div class="quotebox"><blockquote><p>- Как правильно написать шестнадцатеричное число (например 2212) :<br /></p><div class="codebox"><pre><code>H1:=&quot;0x&quot;2212</code></pre></div></blockquote></div><p>Не согласен с приведенным кодом.<br />  <br />Вот прям так взять и записать шестнадцатеричное число в переменную:<br /></p><div class="codebox"><pre><code>h1 := 0x2212</code></pre></div><p>Указать, что в переменной шестнадцетиричное число:<br /></p><div class="codebox"><pre><code>var := 2212 ; записываем десятичное, но на самом деле собираемся использовать как шестнадцетиричное.
h1 := &quot;0x&quot; var</code></pre></div><p>—<br /></p><div class="codebox"><pre><code>IniName := A_ScriptDir &quot;\&quot; RegExReplace(A_ScriptName, &quot;(.*)\..*&quot;, &quot;$1&quot;) &quot;.ini&quot;</code></pre></div><div class="codebox"><pre><code>Splitpath, A_ScriptName,,,, fileName
iniPath := A_ScriptDir . &quot;\&quot; . fileName . &quot;.ini&quot;
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Fri, 19 Apr 2013 09:20:59 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=71561#p71561</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK/OFF: N.F.A.Q  (Noob Frequently Asked Questions)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=71549#p71549</link>
			<description><![CDATA[<p>Накидайте ссылок на темы которые надо добавить.</p>]]></description>
			<author><![CDATA[null@example.com (Mikki)]]></author>
			<pubDate>Thu, 18 Apr 2013 22:03:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=71549#p71549</guid>
		</item>
		<item>
			<title><![CDATA[AHK/OFF: N.F.A.Q  (Noob Frequently Asked Questions)]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=71548#p71548</link>
			<description><![CDATA[<p>&lt;-пробная версия, если сообщество одобрям-с-&gt;</p><div class="codebox"><pre><code>
-------------------------------------------------------------------------------
=                                                                             =
=  Здесь вы найдете примеры кода и ссылки на подсказки по логическим          =
=      схемам и синтаксису языка [b]AutoHotkey[/b].                           =
=                                                                             =
=                                  v.0.0.4                                    =
-------------------------------------------------------------------------------
</code></pre></div><p><strong>Синтаксис</strong></p><p> -&nbsp; <a href="http://forum.script-coding.com/viewtopic.php?id=7511">AHK: знак процента внутри выражений</a> ;<br />&nbsp; &nbsp;<a href="http://forum.script-coding.com/viewtopic.php?id=7470">AHK: Знак процента и задание опций GUI-элемента</a><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>так не правильно (синтаксис не корректный):
MsgBox, % h%A_Index+2%

так правильно:
j:=A_Index+2
MsgBox, % h%j%</code></pre></div></div></div><br /><p> - Указать, что число записано в шестнадцатеричном формате, а не в десятичном (например 2212) : </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>var := 2212 ; записываем десятичное, но на самом деле собираемся использовать как шестнадцатеричное.
H1:=&quot;0x&quot; var</code></pre></div></div></div> <br /><p>-<a href="http://forum.script-coding.com/viewtopic.php?id=7392">AHK: Запись масива в INI файл</a></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>indexA := [1,2,3,4,5]

    Splitpath, A_ScriptName,,,, fileName
    IniName:= A_ScriptDir . &quot;\&quot; . fileName . &quot;.ini&quot;

    Loop % indexA.MaxIndex() 
    {
        indexList := indexList indexA[A_Index] &quot;,&quot;
    }
    IniWrite, %indexList%, % IniName, Settings, indexList</code></pre></div></div></div><br /><p> - <a href="http://forum.script-coding.com/viewtopic.php?id=5635">Считать несколько заголовков окон</a></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>SetTitleMatchMode, 2
WinGet, List, List, Блокнот
Loop % List
   WinGetTitle, Title%A_Index%, % &quot;ahk_id&quot; List%A_Index%
</code></pre></div></div></div><br /><br /><p><strong>Алгоритмы</strong></p><p> - <a href="http://forum.script-coding.com/viewtopic.php?id=8214">Задержка срабатывания выборочной горячей клавиши</a> - на примере ЛевогоШифта</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>*LShift::
   sleep 1000
   if GetKeyState(&quot;LShift&quot;, &quot;P&quot;)
      SendInput {LShift Down}
Return
*LShift Up:: SendInput {LShift Up}</code></pre></div></div></div><br /><p> - <a href="http://forum.script-coding.com/viewtopic.php?pid=70936#p70936">Остановка (Пауза) скрипта при нажатии определенных клавиш</a> (например Alt, Ctrl, Shft)</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>Loop
{
   if !(GetKeyState(&quot;Alt&quot;, &quot;P&quot;) || GetKeyState(&quot;Ctrl&quot;, &quot;P&quot;) || GetKeyState(&quot;Shift&quot;, &quot;P&quot;))
      Send {F7}
   Sleep, 100
}</code></pre></div></div></div><br /><p> - <a href="http://forum.script-coding.com/viewtopic.php?id=7906">Укороченная запись нескольких горячих клавиш с похожими действиями</a></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>f11::
f12::
    send, 1
    if (A_ThisHotkey &lt;&gt; &quot;f12&quot;) {
        send, 2
        send, 3
        send, 4
    }
    send, 5
    return</code></pre></div></div></div><br /><p> - <a href="http://forum.script-coding.com/viewtopic.php?pid=63356#p63356">Перетаскивание GUI-окна за любую его часть</a> - в каждой <strong>gLabel</strong> придется вставить конструкцию&nbsp; <strong>WinMove(WinID) , if moved..</strong></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>Button:
    WinMove(WinID)
    if moved
        return
    MsgBox, Button
    return

WinMove(WinID)
{
    global moved, hGui
    CoordMode, Mouse
    SetWinDelay, -1
    SetBatchLines, -1
    moved:=
    MouseGetPos, Start_X, Start_Y
    WinGetPos, X_Win, Y_Win,,, ahk_id %WinID%
    While GetKeyState(&quot;LButton&quot;, &quot;P&quot;)
    {
        MouseGetPos, Current_X, Current_Y
        moved := (Current_X != Start_X || Current_Y != Start_Y) ? 1 : &quot;&quot;
        WinMove, ahk_id %WinID%,, X_Win + Current_X - Start_X, Y_Win + Current_Y - Start_Y
        Sleep, 10
    }
}

~LButton::
    MouseGetPos,,, WinID
    if (WinID = hGui)
        WinMove(WinID)
    return
</code></pre></div></div></div><br /><p> - <a href="http://forum.script-coding.com/viewtopic.php?pid=71522#p71522">Получать сообщение о активации\деактивации окон в системе</a></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>CoordMode, ToolTip, Screen
DllCall(&quot;RegisterShellHookWindow&quot;, &quot;UInt&quot;, A_ScriptHwnd) 
OnMessage(DllCall(&quot;RegisterWindowMessage&quot;, &quot;str&quot;, &quot;SHELLHOOK&quot;), &quot;ShellProc&quot;) 
OnExit, Exit
Return

ShellProc(nCode, wParam)
{ 
    static A := 1
    If (nCode = 4)
    { 
        WinGet, Process, ProcessName, % !wParam ? &quot;A&quot; : &quot;ahk_id &quot; wParam 
        ToolTip % A++ &quot;`n`n&quot; Process, 15, 15
    }    
} 

Exit:
    DllCall(&quot;DeregisterShellHookWindow&quot;, &quot;UInt&quot;, A_ScriptHwnd)
    ExitApp</code></pre></div></div></div><br /><p> - <a href="http://forum.script-coding.com/viewtopic.php?id=5307">Запоминание данных GUI-элементов (на пример - CheckBox)</a></p><br /><p><strong>Философия</strong></p><p> - <a href="http://forum.script-coding.com/viewtopic.php?pid=64310#p64310">Диалог о тщетности коментописания</a> <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /> <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /> <img src="//forum.script-coding.com/img/smilies/big_smile.png" width="15" height="15" /></p><br /><p> - Что приходится делать читающему, чтобы понять вопрос. </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"><p><span class="postimg"><img src="http://s2.developerslife.ru/public/images/gifs/0afa5945-c345-49ff-bc97-0a7446433d42.gif" alt="http://s2.developerslife.ru/public/images/gifs/0afa5945-c345-49ff-bc97-0a7446433d42.gif" /></span></p></div></div>]]></description>
			<author><![CDATA[null@example.com (Mikki)]]></author>
			<pubDate>Thu, 18 Apr 2013 22:03:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=71548#p71548</guid>
		</item>
	</channel>
</rss>
