Сайт AZJIO
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
Меню сайта
Категории раздела
Скрипты для LiveCD [0]
Скрипты для WindowsXP [8]
Примеры скриптов [15]
Функции [5]
Поиск
Главная » Статьи » Скрипты AutoIt3 » Примеры скриптов

Автозагрузка

Добавляет файл в автозагрузку


Довольно часто необходимо добавить свою програму в автозагрузку. Это можно сделать используя ярлык или запись в реестр. Последнее имеет дополнительные возможности, например выполнить один раз автозагрузку, после чего запись автозагрузки удаляется (RunOnce) и автозагрузка с очередью и ожиданием завершения выполнения каждого элемента автозагрузки (RunOnceEx)

На замену ниже указанного скрипта сделана функция _StartUp, которая поддерживает все вышеуказанные свойства и сделана в виде локаничной функции.

; при установленных параметрах текущий скрипт ничего не добавляет в реестр.

; авторегистрация и удаление регистрации используя ключи в ком-строке /a, /d

If $CmdLine[0] > 0 Then
    Switch $CmdLine[1]
        Case '/a'
            RegRead("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
            If @error Then
                RegWrite("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName, "REG_SZ", '"' & @ScriptFullPath & '"')
                MsgBox(0, 'Сообщение', 'регистрация в автозагрузке выполнена')
            Else
                If MsgBox(4, 'Сообщение', 'Ключ уже существует' & @CRLF & 'Перезаписать принудительно?') = 6 Then
                    RegWrite("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName, "REG_SZ", '"' & @ScriptFullPath & '"')
                    MsgBox(0, 'Сообщение', 'регистрация в автозагрузке выполнена')
                EndIf
            EndIf
        Case '/d'
            RegRead("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
            If @error Then
                MsgBox(0, 'Сообщение', 'Ключ отсутствует' & @CRLF & 'удаление не требуется')
            Else
                RegDelete("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
                MsgBox(0, 'Сообщение', 'Удаление ключа выполнено')
            EndIf
        Case Else; Or '/?' Or '/h' Or '/help'
            MsgBox(0, 'Сообщение', 'Поддерживаются ключи:' & @CRLF & _
                    '/a - регистрация скрипта в автозагрузке' & @CRLF & '/d - удаление регистрации в автозагрузке')
    EndSwitch
EndIf


; авторегистрация
$auto = 0
If $auto = 1 Then
    RegRead("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
    If @error Then RegWrite("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName, "REG_SZ", '"' & @ScriptFullPath & '"')
EndIf

; автостарт путём создания ярлыка в атозагрузке
$Autostart = 0
If $Autostart = 1 Then
    $filename = StringRegExpReplace(@ScriptName, '(^.*)\.(.*)$', '\1')
    If Not FileExists(@StartupDir & '\' & $filename & '.lnk') Then FileCreateShortcut(@ScriptFullPath, @StartupDir & '\' & $filename & '.lnk')
EndIf

; удаление автостарта путём удаления ярлыка в атозагрузке
$DelAutostart = 0
If $DelAutostart = 1 Then
    $filename = StringRegExpReplace(@ScriptName, '(^.*)\.(.*)$', '\1')
    If FileExists(@StartupDir & '\' & $filename & '.lnk') Then FileDelete(@StartupDir & '\' & $filename & '.lnk')
EndIf

; пример с функцией, здесь жёсткое условие, либа автозагрузка, либо неавтозагрузка
Func _Autostart()
    $filename = StringRegExpReplace(@ScriptName, '(^.*)\.(.*)$', '\1')
    If $Autostart = 1 Then
        If Not FileExists(@StartupDir & '\' & $filename & '.lnk') Then FileCreateShortcut(@ScriptFullPath, @StartupDir & '\' & $filename & '.lnk')
    Else
        If FileExists(@StartupDir & '\' & $filename & '.lnk') Then FileDelete(@StartupDir & '\' & $filename & '.lnk')
    EndIf
EndFunc
  ;==>_Autostart

Категория: Примеры скриптов | Добавил: AZJIO (11.01.2011)
Просмотров: 1947 | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Вход
Друзья сайта
  • Справки AZJIO
  • USBTOR
  • PureBasic (Ru)
  • PureBasic (En)
  • AutoIT3 - Ru.Board
  • autoit-script.ru
  • autoitscript.com
  • WinPE - Ru.Board
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    ЮMoney

    Мой кошелёк

    ЮMoney: 4100117604217624


    AZJIO © 2024