_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)