Функция _StartUp

         Описание функции


_StartUp

Добавляет или удаляет исполняемый файл в автозагрузку

#Include <_StartUp.au3>
_StartUp ( [$flag = 0 [, $sName = '' [, $sPathRun = '' [, $sArgs = '' [, $sDesc = '' [, $sIcon = '' [, $iIconNum = 0 [, $state = 0]]]]]]]] )

Параметры

$flag [необязательный] Указывает вариант автозагрузки. Может быть комбинацией следующих значений:
    1 - В реестр, иначе ярлык
    2 - Для всех пользователей, иначе для текущего
    4 - Одноразовый запуск (RunOnce), иначе при каждой загрузке (только для реестра)
    8 - Одноразовый запуск (RunOnceEx), иначе при каждой загрузке (только для реестра)
    16 - Не перезаписывать
    32 - Удалить (Требует флаги, с которыми был создан элемент автозагрузки и параметр $sName, остальные игнорирует)
$sName [необязательный] Имя параметра реестра или ярлыка. По умолчанию "" пустая строка, что означает имя текущего скрипта
$sPathRun [необязательный] Путь к запускаемому файлу. По умолчанию "" пустая строка, что означает полный путь к текущему скрипту
$sArgs [необязательный] Параметры запуска, по умолчанию "" - пустая строка
$sDesc [необязательный] Описание, отображается во всплывающей подсказке (только ярлыку)
$sIcon [необязательный] Имя или путь к файлу с иконкой (ico, dll, exe и др.). (только ярлыку)
$iIconNum [необязательный] Номер иконки для использования (только ярлыку)
$state [необязательный] Состояние окна при запуске (только ярлыку)

Возвращаемое значение

Успех:Возвращает 1
Ошибка:Возвращает 0. При добавлении/удалении в реестре ошибки повторяют значения ошибок соответствующих функций. Дополнительно @error = 4, если не удалось перезаписать ярлык или параметр в реестре при использовании флага "не перезаписывать"

Примечания

Флаг удаления ставится с той же комбинацией флагов, что и создавался, иначе не сработает, так как попытается удалить в другом месте. Параметры, начиная с $sDesc заканчивая $state используются только для ярлыка, но и для него в большинстве случаев являются излишними. Флаги 4 и 8 не указывается вместе. Отличие RunOnceEx в том, что команды из этого раздела выполняются последовательно в порядке сортировки имён параметров, а также каждый следующий запуск ожидает окончания предыдущего.

Пример

; AZJIO
; http://www.autoitscript.com/forum/topic/151389-startup-registry-shortcut/
#include <_StartUp.au3>

; Добавляет ярлык для текущего пользователя
$iRes = _StartUp(0, 'Help', 'hh.exe', StringRegExpReplace(@AutoItExe, '^(.*)\\.*$', '\1') & '\AutoIt.chm')
MsgBox(0, 'Добавлено?', $iRes)

; Удаляет ярлык
$iRes = _StartUp(32, 'Help')
MsgBox(0, 'Удалено?', $iRes)

; Добавляет запись в реестр для текущего пользователя
$iRes = _StartUp(1, 'Help', 'hh.exe', StringRegExpReplace(@AutoItExe, '^(.*)\\.*$', '\1') & '\AutoIt.chm')
MsgBox(0, 'Добавлено?', $iRes)

; Удаляет запись из реестра
$iRes = _StartUp(1 + 32, 'Help')
MsgBox(0, 'Удалено?', $iRes)