Hi,
ich wollte mal mein portable Autoit vorstellen.
Über das Kontextmenü kann man Editieren, Kompilieren oder das Script starten.
Desweitern kann man über ein Traymenü, SciTE- Wrapper- Wrapper_Gui- Tidy- sowie
den Obfuscator starten.
In SciTE ist OrganizeIncludes ( wirklich ein tolles Script ) eingebunden, und SciTE ist auf deutsch.
Den Splash screen habe ich von hier:
Autoit3Portable
Spoiler anzeigen
; AutoIt Version: 3.2.12.1
; Author: MadMax
; Version : 1.1.3.2
#Region
#AutoIt3Wrapper_Outfile=portableAutoIT.exe
#AutoIt3Wrapper_Res_Description=AutoIT portable
#AutoIt3Wrapper_Res_Fileversion=1.1.3.2
#AutoIt3Wrapper_Res_LegalCopyright=©MadMax
#AutoIt3Wrapper_Res_Language=1031
#EndRegion
If FileExists(@ScriptDir & '\läuft.txt') Then
MsgBox(64, "Start wird abgebrochen !", "Portables Autoit läuft schon !!")
Exit
EndIf
backupRegistry();Alle einstellungen in der Registry von Autoit im Scriptverzeichnis sichern
$destination = @ScriptDir & "\Autoit3Portable.jpg"
SplashImageOn("Splash Screen", $destination, 416, 249, -1, -1, 17)
[/autoit] [autoit][/autoit] [autoit]; Registry schreiben
$ver = FileGetVersion(@ScriptDir & '\AutoIt3\AutoIt3.exe')
RegWrite('HKCU\Software\AutoIt v3\Aut2Exe', 'LastExeDir', 'Reg_sz', 'My Documents')
RegWrite('HKCU\Software\AutoIt v3\Aut2Exe', 'LastScriptDir', 'Reg_sz', 'My Documents')
RegWrite('HKCU\Software\AutoIt v3\Aut2Exe', 'LastIconDir', 'Reg_sz', @ScriptDir & '\AutoIt3\Aut2Exe\Icons')
RegWrite('HKCU\Software\AutoIt v3\Aut2Exe', 'LastIcon', 'Reg_sz', '')
RegWrite('HKCU\Software\AutoIt v3\Aut2Exe', 'LastCompression', 'Reg_Dword', '0x00000002')
RegWrite('HKCU\Software\AutoIt v3\Aut2Exe', 'AllowDecompile', 'Reg_Dword', '0x00000001')
RegWrite('HKLM\Software\AutoIt v3\AutoIt', 'InstallDir', 'Reg_sz', @ScriptDir & '\AutoIt3')
RegWrite('HKLM\Software\AutoIt v3\AutoIt', 'Version', 'Reg_sz', $ver)
RegWrite('HKCU\Software\Classes\.au3', 'PerceivedType', 'Reg_sz', 'text')
RegWrite('HKCU\Software\Classes\.au3', '', 'Reg_sz', 'AutoIt3Script')
RegWrite('HKCU\Software\Classes\AutoIt3Script', '', 'Reg_sz', 'AutoIt v3 Script')
RegWrite('HKCU\Software\Classes\AutoIt3Script\DefaultIcon', '', 'Reg_sz', @ScriptDir & '\AutoIt3\Icons\filetype1.ico')
RegWrite('HKCU\Software\Classes\AutoIt3Script\Shell', '', 'Reg_sz', 'Edit Script')
RegWrite('HKCU\Software\Classes\AutoIt3Script\Shell\Compile', '', 'Reg_sz', 'Compile Script')
RegWrite('HKCU\Software\Classes\AutoIt3Script\Shell\Compile\Command', '', 'Reg_sz', '"' & @ScriptDir & '\AutoIt3\Aut2Exe\Aut2Exe.exe" /in "%l"')
RegWrite('HKCU\Software\Classes\AutoIt3Script\Shell\Edit', '', 'Reg_sz', 'Edit Script')
RegWrite('HKCU\Software\Classes\AutoIt3Script\Shell\Edit\Command', '', 'Reg_sz', '"' & @ScriptDir & '\AutoIt3\SciTE\SciTE.exe" "%1"')
RegWrite('HKCU\Software\Classes\AutoIt3Script\Shell\Run', '', 'Reg_sz', 'Run Script')
RegWrite('HKCU\Software\Classes\AutoIt3Script\Shell\Run\Command', '', 'Reg_sz', '"' & @ScriptDir & '\AutoIt3\AutoIt3.exe" "%1" %*')
RegDelete("HKCU\Software\Classes\.au3", "PerceivedType")
If Not FileExists(@ScriptDir & '\AutoIt3\SciTE\OrganizeIncludes\OrganizeIncludes4.3.au3') Then
DirCreate(@ScriptDir & '\AutoIt3\SciTE\OrganizeIncludes\')
FileCopy(@ScriptDir & '\Data\OrganizeIncludes\OrganizeIncludes4.3.au3', @ScriptDir & '\AutoIt3\SciTE\OrganizeIncludes\OrganizeIncludes4.3.au3', 1)
EndIf
If Not FileExists(@ScriptDir & '\AutoIt3\SciTE\locale.properties') Then
FileCopy(@ScriptDir & '\Data\locale.properties', @ScriptDir & '\AutoIt3\SciTE\locale.properties', 1)
EndIf
FileCopy(@ScriptDir & '\Data\SciTEUser.properties', @UserProfileDir & '\SciTEUser.properties', 1)
$file = FileOpen(@ScriptDir & '\läuft.txt', 1)
FileWrite($file, "portable AutotIT " & $ver)
FileClose($file)
Sleep(2000)
SplashOff()
Opt("TrayMenuMode", 1)
[/autoit] [autoit][/autoit] [autoit]$aboutitem = TrayCreateItem("About")
TrayCreateItem("")
$helpau3item = TrayCreateItem("AutoIt 3 Hilfe")
TrayCreateItem("")
$SciTEitem = TrayCreateItem("SciTE Script Editor")
$Wrapperitem = TrayCreateItem("Wrapper")
$Wrapper_Guiitem = TrayCreateItem("Wrapper_Gui")
$Tidyitem = TrayCreateItem("Tidy")
$Obfuscatoritem = TrayCreateItem("Obfuscator")
TrayCreateItem("")
$exititem = TrayCreateItem("Exit")
TraySetState()
[/autoit] [autoit][/autoit] [autoit]While 1
$msg = TrayGetMsg()
Select
Case $msg = 0
ContinueLoop
Case $msg = $aboutitem
MsgBox(0, "about:", @CRLF & "portable AutotIT " & $ver & @CRLF)
Case $msg = $SciTEitem
Run(@ScriptDir & "\AutoIt3\SciTE\SciTE.exe", @ScriptDir)
Case $msg = $helpau3item
Run(@ScriptDir & "\AutoIt3\AutoIt3Help.exe", @ScriptDir)
Case $msg = $Wrapperitem
Run(@ScriptDir & "\Wrapper\AutoIt3Wrapper.exe", @ScriptDir)
Case $msg = $Wrapper_Guiitem
Run(@ScriptDir & "\Wrapper\AutoIt3Wrapper_Gui.exe", @ScriptDir)
Case $msg = $Tidyitem
Run(@ScriptDir & "\Tidy\Tidy.exe", @ScriptDir)
Case $msg = $Obfuscatoritem
Run(@ScriptDir & "\Obfuscator\Obfuscator.exe", @ScriptDir)
Case $msg = $exititem
Call("regdel")
Call("RestoreRegistry");Alle einstellungen in der Registry von Autoit aus dem Scriptverzeichnis wiederherstellen
Call("filedel")
ExitLoop
EndSelect
WEnd
Exit
[/autoit] [autoit][/autoit] [autoit]Func regdel()
RegDelete("HKCU\Software\AutoIt v3")
RegDelete("HKLM\Software\AutoIt v3")
RegDelete("HKCU\Software\Classes\.au3")
RegDelete("HKCU\Software\Classes\AutoIt3Script")
EndFunc ;==>regdel
Func filedel()
If ProcessExists('SciTE.exe') Then ProcessClose('SciTE.exe')
FileDelete(@UserProfileDir & '\SciTEUser.properties')
FileDelete(@UserProfileDir & '\SciTE.*')
FileDelete(@ScriptDir & '\läuft.txt')
FileDelete(@ScriptDir & '\autoit.reg')
FileDelete(@ScriptDir & '\au3.reg')
FileDelete(@ScriptDir & '\AutoitScript.reg')
EndFunc ;==>filedel
Func backupRegistry()
RunWait(@SystemDir & '\Reg.exe EXPORT "HKLM\Software\AutoIt v3" "' & @ScriptDir & '\autoit.reg"', "", @SW_HIDE)
RunWait(@SystemDir & '\Reg.exe EXPORT "HKCU\Software\Classes\.au3" "' & @ScriptDir & '\au3.reg"', "", @SW_HIDE)
RunWait(@SystemDir & '\Reg.exe EXPORT "HKCU\Software\Classes\AutoIt3Script" "' & @ScriptDir & '\AutoitScript.reg"', "", @SW_HIDE)
EndFunc ;==>backupRegistry
Func RestoreRegistry()
RunWait(@SystemDir & '\Reg.exe IMPORT autoit.reg', @ScriptDir, @SW_HIDE)
RunWait(@SystemDir & '\Reg.exe IMPORT au3.reg', @ScriptDir, @SW_HIDE)
RunWait(@SystemDir & '\Reg.exe IMPORT AutoitScript.reg', @ScriptDir, @SW_HIDE)
EndFunc ;==>RestoreRegistry
Func SciTE()
Run(@ScriptDir & "\AutoIt3\SciTE\SciTE.exe", @ScriptDir)
EndFunc ;==>SciTE
Func Wrapper()
Run(@ScriptDir & "\Wrapper\AutoIt3Wrapper.exe", @ScriptDir)
EndFunc ;==>Wrapper
Func Wrapper_Gui()
Run(@ScriptDir & "\Wrapper\AutoIt3Wrapper_Gui.exe", @ScriptDir)
EndFunc ;==>Wrapper_Gui
Func Tidy()
Run(@ScriptDir & "\Tidy\Tidy.exe", @ScriptDir)
EndFunc ;==>Tidy
Func Obfuscator()
Run(@ScriptDir & "\Obfuscator\Obfuscator.exe", @ScriptDir)
EndFunc ;==>Obfuscator
Der Ordner "AutoItv3_portable" hat folgende Unterordner:
- AutoIt3
- Obfuscator
- Tidy
- Wrapper
- Data
Folgendes muss zusätzlich runtergeladen werden und in den dazugehörigen Ordner kopiert werden:
AutoIt3
Obfuscator
Wrapper
Wrapper_Gui
Tidy
Gruss
MadMax
mixer.zip
und hier mal als komplett download:
http://rapidshare.com/files/16669126…ortable_full.7z
aktualisiert, dank an Raupi
aktualisiert, dank an Micha_he