Advertisement
AZJIO

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

Sep 16th, 2011
756
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 3.17 KB | None | 0 0
  1. ; при установленных параметрах текущий скрипт ничего не добавляет в реестр.
  2.  
  3. ; авторегистрация и удаление регистрации используя ключи в ком-строке /a, /d
  4. If $CmdLine[0]>0 Then
  5.     Switch $CmdLine[1]
  6.         Case '/a'
  7.             RegRead("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
  8.             If @Error Then
  9.                 RegWrite("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName, "REG_SZ", '"'&@ScriptFullPath&'"')
  10.                 MsgBox(0, 'Сообщение', 'регистрация в автозагрузке выполнена')
  11.             Else
  12.                 If MsgBox(4, 'Сообщение', 'Ключ уже существует'&@CRLF&'Перезаписать принудительно?')=6 Then
  13.                     RegWrite("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName, "REG_SZ", '"'&@ScriptFullPath&'"')
  14.                     MsgBox(0, 'Сообщение', 'регистрация в автозагрузке выполнена')
  15.                 EndIf
  16.             EndIf
  17.         Case '/d'
  18.             RegRead("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
  19.             If @Error Then
  20.                 MsgBox(0, 'Сообщение', 'Ключ отсутствует'&@CRLF&'удаление не требуется')
  21.             Else
  22.                 RegDelete("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
  23.                 MsgBox(0, 'Сообщение', 'Удаление ключа выполнено')
  24.             EndIf
  25.         Case Else; Or '/?' Or '/h' Or '/help'
  26.             MsgBox(0, 'Сообщение', 'Поддерживаются ключи:'&@CRLF&'/a - регистрация скрипта в автозагрузке'&@CRLF&'/d - удаление регистрации в автозагрузке')
  27.     EndSwitch
  28. EndIf
  29.  
  30. ; авторегистрация
  31. $auto=0
  32. If $auto = 1 Then
  33.     RegRead("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName)
  34.     If @Error Then RegWrite("HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", @ScriptName, "REG_SZ", '"'&@ScriptFullPath&'"')
  35. EndIf
  36.  
  37. ; автостарт путём создания ярлыка в атозагрузке
  38. $Autostart=0
  39. If $Autostart=1 Then
  40.     $filename=StringRegExpReplace(@ScriptName, '(^.*)\.(.*)$', '\1')
  41.     If Not FileExists(@StartupDir&'\'&$filename&'.lnk') Then FileCreateShortcut ( @ScriptFullPath, @StartupDir&'\'&$filename&'.lnk' )
  42. EndIf
  43.  
  44. ; удаление автостарта путём удаления ярлыка в атозагрузке
  45. $DelAutostart=0
  46. If $DelAutostart=1 Then
  47.     $filename=StringRegExpReplace(@ScriptName, '(^.*)\.(.*)$', '\1')
  48.     If FileExists(@StartupDir&'\'&$filename&'.lnk') Then FileDelete (@StartupDir&'\'&$filename&'.lnk')
  49. EndIf
  50.  
  51. ; пример с функцией, здесь жёсткое условие, либо автозагрузка, либо неавтозагрузка
  52. Func _Autostart()
  53.     $filename=StringRegExpReplace(@ScriptName, '(^.*)\.(.*)$', '\1')
  54.     If $Autostart=1 Then
  55.         If Not FileExists(@StartupDir&'\'&$filename&'.lnk') Then FileCreateShortcut ( @ScriptFullPath, @StartupDir&'\'&$filename&'.lnk' )
  56.     Else
  57.         If FileExists(@StartupDir&'\'&$filename&'.lnk') Then FileDelete (@StartupDir&'\'&$filename&'.lnk')
  58.     EndIf
  59. EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement