<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Как запустить скрипт только с параметром]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7243&amp;type=atom" />
	<updated>2012-07-24T17:38:35Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=7243</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как запустить скрипт только с параметром]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=61981#p61981" />
			<content type="html"><![CDATA[<p>Для одного любого параметра, или его отсутствия<br /></p><div class="codebox"><pre><code>if 0 = 0
{
MsgBox нет параметров
ExitApp
}
Else 
MsgBox есть параметр
ExitApp</code></pre></div><p>Встроенная Переменная %0% содержит количество переданных параметров</p><p>Для определённого первого&nbsp; параметра<br /></p><div class="codebox"><pre><code>if 1 = orange
{
MsgBox есть параметр orange
ExitApp
}
Else 
if 1 = apple
{
MsgBox есть параметр apple
ExitApp
}
Else
MsgBox нет параметров orange или apple
ExitApp</code></pre></div><p>Встроенная Переменная %1% содержит первый параметр</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2012-07-24T17:38:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=61981#p61981</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как запустить скрипт только с параметром]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60540#p60540" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>creature.ws пишет:</cite><blockquote><p>Встречный вопрос: почему вы ExitApp заключили в фигурные скобки, а блок выполняющийся при истинности условия If — нет?</p></blockquote></div><p>Не знаю <img src="//forum.script-coding.com/img/smilies/roll.png" width="15" height="15" /><br />Всё работает , спасибо!</p><p>А можно сделать более простой скрипт, для нескольких конкретных параметров?</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2012-05-28T15:09:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60540#p60540</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как запустить скрипт только с параметром]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60539#p60539" />
			<content type="html"><![CDATA[<p>Встречный вопрос: почему вы ExitApp заключили в фигурные скобки, а блок выполняющийся при истинности условия If — нет?</p>]]></content>
			<author>
				<name><![CDATA[creature.ws]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26105</uri>
			</author>
			<updated>2012-05-28T15:00:26Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60539#p60539</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как запустить скрипт только с параметром]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60538#p60538" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>creature.ws</p></blockquote></div><p>краткость, сестра таланта <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />а для нескольких параметров , мона такое сделать?<br /></p><div class="codebox"><pre><code>#NoTrayIcon
#SingleInstance ignore
args := []
Loop %0%
    args[A_Index] := %A_Index%
If args.MaxIndex() &gt; 0
   Gui, +ToolWindow
   Gui, Show, x5555 y5555 h379 w480, Windows
   Sleep, 100
   ExitApp
Else 
{
    ExitApp
}</code></pre></div><p>так почему-то на Else ругается?</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2012-05-28T13:56:37Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60538#p60538</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как запустить скрипт только с параметром]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60537#p60537" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>args := []
Loop %0%
    args[A_Index] := %A_Index%

If args.MaxIndex() &gt; 0
    MsgBox % &quot;Скрипт запущен с количеством аргументов больше нуля. `n3-й параметр: &quot; args[3]
Else {
    MsgBox Скрипт был запущен без указания аргументов.
    Run %A_ScriptFullPath% param1 param2 param3
}</code></pre></div><p>Адаптируйте <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[creature.ws]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26105</uri>
			</author>
			<updated>2012-05-28T13:08:58Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60537#p60537</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как запустить скрипт только с параметром]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60535#p60535" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>creature.ws пишет:</cite><blockquote><p>Добавив эти строки в секцию автовыполнения получим при запуске скрипта массив <strong>args</strong> содержащий переданные параметры в соответствующих «ячейках» массива. Количество переданных параметров возможно получить выполнив <strong>args.MaxIndex()</strong>, сами параметры находятся в <strong>args[1]</strong>, <strong>args[2]</strong> и т.д.</p></blockquote></div><p>А можно готовый скрипт для чайника?<br />А то больше на С# похоже <img src="//forum.script-coding.com/img/smilies/tongue.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2012-05-28T11:37:16Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60535#p60535</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как запустить скрипт только с параметром]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60534#p60534" />
			<content type="html"><![CDATA[<p>По поводу параметров переданных скрипту:<br /></p><div class="codebox"><pre><code>args := []
Loop %0%
    args[A_Index] := %A_Index%</code></pre></div><p>Добавив эти строки в секцию автовыполнения получим при запуске скрипта массив <strong>args</strong> содержащий переданные параметры в соответствующих «ячейках» массива. Количество переданных параметров возможно получить выполнив <strong>args.MaxIndex()</strong>, сами параметры находятся в <strong>args[1]</strong>, <strong>args[2]</strong> и т.д.</p>]]></content>
			<author>
				<name><![CDATA[creature.ws]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26105</uri>
			</author>
			<updated>2012-05-28T11:31:04Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60534#p60534</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как запустить скрипт только с параметром]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60532#p60532" />
			<content type="html"><![CDATA[<p>Класс!!! Всё работает, при запуске из проводника ничего не происходит, но при запуске из сторонней программы без параметров, почему-то через раз появляется это <a href="http://ic.pics.livejournal.com/the_bestseller/49384395/9995/original.jpg">http://ic.pics.livejournal.com/the_best … iginal.jpg</a> (что не является окном из скрипта), можно-ли это лечить?</p><br /><p>А всё, удалил </p><div class="codebox"><pre><code>GuiClose:
   ExitApp</code></pre></div><p>и пропало<br />Большое&nbsp; спасибо за помощь!!!</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2012-05-28T10:37:23Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60532#p60532</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как запустить скрипт только с параметром]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60531#p60531" />
			<content type="html"><![CDATA[<p>Попала строчка лишняя:<br /></p><div class="codebox"><pre><code>If ( param1 = &quot;orange&quot; AND param2 = &quot;apple&quot; )</code></pre></div><p>её надо удалить.<br /></p><div class="codebox"><pre><code>#SingleInstance force
#NoTrayIcon
; Поиск в параметрах ключей (модификаторов действий скрипта)
If 0 &gt; 0 ; если параметры есть (см. Примечание 1 выше. Будет верным написать и так If %0% &gt; 0), то...
{
    Loop, %0% ; обработать все переданные параметры
    {
        Param := %A_Index% ; получаем значение текущего параметра (см. Примечание 2 и 3)
        ; берем 1-й символ параметра (проверяем наличие ключа)
        StringLeft, Switch_Pointer, Param, 1
        ; если параметр начинается с &quot;-&quot; или с &quot;/&quot; (указатели на ключ), то...
        If ( Switch_Pointer = &quot;-&quot; OR Switch_Pointer = &quot;/&quot; )
        {
            ; берем остальную часть строки (получаем сам ключ)
            StringMid, Switch, Param, 2, StrLen( Param )
            ; (ВНИМАНИЕ: укажите здесь желаемое имя ключа) если ключ имеет нужное имя, то...
            If Switch = orange
                ; назначаем любую переменную, в которой будет указано, что параметр получен
                Switch1 := Switch
            If Switch = apple
                ; назначаем любую переменную, в которой будет указано, что параметр получен
                Switch2 := Switch
         }
    }
}
 
; Обработка полученных ключей
If Switch1 ; если ключ был получен, то...
{
   Gui, +ToolWindow
   Gui, Show, x555 y555 h379 w480, Windows
}

If Switch2 ; если ключ был получен, то...
    MsgBox, Скрипт запущен с ключом Switch2 = &quot;%Switch2%&quot;
    
Sleep, 1000
ExitApp

GuiClose:
   ExitApp</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2012-05-28T10:22:56Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60531#p60531</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как запустить скрипт только с параметром]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60530#p60530" />
			<content type="html"><![CDATA[<p>Спасибо за помощь!<br /> но теперь вообще не запускается никак, ни с проводника ни с параметрами.<br />батник<br /></p><div class="codebox"><pre><code>@echo off
&quot;D:\AutoIt\Osd\WinWin.exe&quot; /apple</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2012-05-28T10:11:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60530#p60530</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как запустить скрипт только с параметром]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60529#p60529" />
			<content type="html"><![CDATA[<p>Предыдущий код правильно будет выглядеть так:<br /></p><div class="codebox"><pre><code>#SingleInstance force
#NoTrayIcon
If ( param1 = &quot;orange&quot; AND param2 = &quot;apple&quot; )
; Поиск в параметрах ключей (модификаторов действий скрипта)
If 0 &gt; 0 ; если параметры есть (см. Примечание 1 выше. Будет верным написать и так If %0% &gt; 0), то...
{
    Loop, %0% ; обработать все переданные параметры
    {
        Param := %A_Index% ; получаем значение текущего параметра (см. Примечание 2 и 3)
        ; берем 1-й символ параметра (проверяем наличие ключа)
        StringLeft, Switch_Pointer, Param, 1
        ; если параметр начинается с &quot;-&quot; или с &quot;/&quot; (указатели на ключ), то...
        If ( Switch_Pointer = &quot;-&quot; OR Switch_Pointer = &quot;/&quot; )
        {
            ; берем остальную часть строки (получаем сам ключ)
            StringMid, Switch, Param, 2, StrLen( Param )
            ; (ВНИМАНИЕ: укажите здесь желаемое имя ключа) если ключ имеет нужное имя, то...
            If Switch = orange
                ; назначаем любую переменную, в которой будет указано, что параметр получен
                Switch1 := Switch
            If Switch = apple
                ; назначаем любую переменную, в которой будет указано, что параметр получен
                Switch2 := Switch
         }
    }
}
 
; Обработка полученных ключей
If Switch1 ; если ключ был получен, то...
{
   Gui, +ToolWindow
   Gui, Show, x555 y555 h379 w480, Windows
}

If Switch2 ; если ключ был получен, то...
    MsgBox, Скрипт запущен с ключом Switch2 = &quot;%Switch2%&quot;
    
Sleep, 1000
ExitApp

GuiClose:
   ExitApp</code></pre></div><p>Но здесь не предусмотрено наличие второго параметра, а определяется, чему равен первый — &quot;orange&quot; или &quot;apple&quot;. В первом случае будет показано окно GUI, во втором — MsgBox.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2012-05-28T09:50:46Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60529#p60529</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как запустить скрипт только с параметром]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60525#p60525" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>А где скрипт с 2-мя параметрами?</p></blockquote></div><p>вот</p><div class="codebox"><pre><code>#SingleInstance force
#NoTrayIcon
If ( param1 = &quot;orange&quot; AND param2 = &quot;apple&quot; )
; Поиск в параметрах ключей (модификаторов действий скрипта)
If 0 &gt; 0 ; если параметры есть (см. Примечание 1 выше. Будет верным написать и так If %0% &gt; 0), то...
{
    Loop, %0% ; обработать все переданные параметры
    {
        Param := %A_Index% ; получаем значение текущего параметра (см. Примечание 2 и 3)
        ; берем 1-й символ параметра (проверяем наличие ключа)
        StringLeft, Switch_Pointer, Param, 1
        ; если параметр начинается с &quot;-&quot; или с &quot;/&quot; (указатели на ключ), то...
        If ( Switch_Pointer = &quot;-&quot; OR Switch_Pointer = &quot;/&quot; )
        {
            ; берем остальную часть строки (получаем сам ключ)
            StringMid, Switch, Param, 2, StrLen( Param )
            ; (ВНИМАНИЕ: укажите здесь желаемое имя ключа) если ключ имеет нужное имя, то...
            If Switch = orange
                ; назначаем любую переменную, в которой будет указано, что параметр получен
                Switch1 := Switch
            If Switch = apple
                ; назначаем любую переменную, в которой будет указано, что параметр получен
                Switch2 := Switch
    
    }
}
 
; Обработка полученных ключей
If Switch1 ; если ключ был получен, то...
Gui, +ToolWindow
Gui, Show, x555 y555 h379 w480, Windows
Sleep, 1000
ExitApp
GuiClose:
ExitApp
If Switch2 ; если ключ был получен, то...
    MsgBox, Скрипт запущен с ключом Switch2 = &quot;%Switch2%&quot;
Sleep, 1000
ExitApp</code></pre></div><p>скрипт взят из справки <a href="http://www.script-coding.com/AutoHotkey/AhkParams.html">http://www.script-coding.com/AutoHotkey/AhkParams.html</a> если в двух действиях писать MsgBox то ничего не происходит, в том числе и с запуском с параметром. И почему-то ругается на одну из } поэтому она удалена.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2012-05-28T08:58:56Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60525#p60525</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как запустить скрипт только с параметром]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60524#p60524" />
			<content type="html"><![CDATA[<p>А где скрипт с 2-мя параметрами?</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2012-05-28T08:55:30Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60524#p60524</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Как запустить скрипт только с параметром]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=60523#p60523" />
			<content type="html"><![CDATA[<p>Как запустить скомпилированный скрипт только с параметром командной строки windows?<br />Есть скрипт, нужно чтоб при попытке запуска из проводника ничего не происходило (не запускалось), а при запуске из батника с определённым параметром выполнялось заданное действие.<br /></p><div class="codebox"><pre><code>#SingleInstance force
#NoTrayIcon
; Поиск в параметрах ключей (модификаторов действий скрипта)
If 0 &gt; 0 ; если параметры есть (см. Примечание 1 выше. Будет верным написать и так If %0% &gt; 0), то...
{
    Loop, %0% ; обработать все переданные параметры
    {
        Param := %A_Index% ; получаем значение текущего параметра (см. Примечание 2 и 3)
        ; берем 1-й символ параметра (проверяем наличие ключа)
        StringLeft, Switch_Pointer, Param, 1
        ; если параметр начинается с &quot;-&quot; или с &quot;/&quot; (указатели на ключ), то...
        If ( Switch_Pointer = &quot;-&quot; OR Switch_Pointer = &quot;/&quot; )
        {
            ; берем остальную часть строки (получаем сам ключ)
            StringMid, Switch, Param, 2, StrLen( Param )
            ; (ВНИМАНИЕ: укажите здесь желаемое имя ключа) если ключ имеет нужное имя, то...
            If Switch = apple
                ; назначаем любую переменную, в которой будет указано, что параметр получен
                Switch1 := Switch
    }
}
 
; Обработка полученных ключей
If Switch1 ; если ключ был получен, то...
MsgBox, Скрипт запущен с ключом apple
Sleep, 1000
ExitApp

ExitApp</code></pre></div><p>Сейчас он запускается из проводника, и выполняется действие </p><div class="codebox"><pre><code>If Switch1 ; если ключ был получен, то...
MsgBox, Скрипт запущен с ключом apple
Sleep, 1000
ExitApp</code></pre></div><p>Попробовал с 2 параметрами, ввёл второй параметр а выполняется почему-то первый. Подскажите ошибку.</p>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2012-05-28T08:17:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=60523#p60523</id>
		</entry>
</feed>
