- 將AutoIt編譯過的程式與pspasswd.exe 放在一起以壓縮軟體打包在一起後進行佈署
- 將pspasswd.exe 程式事先佈署於每一台電腦以便AutoIt進行呼叫使用
以下是執行將檔案Include 到AutoIt程式碼的Function,使用上也非常簡單,將要Include 的檔案設定為Source,執行程式後解壓的檔案為dest,這裡比較重要的是dest 的位置必須指定已存在的路徑,否則會失敗。
FileInstall ( "source", "dest" [, flag = 0] )
下面這段程式就是在此次範例的程式碼,檔案的原始路徑及程式執行後解壓的路徑,只要設定好即可將檔案Include 進來。
FileInstall("c:\temp\pspasswd.exe", @ScriptDir & "\pspasswd.exe")
編譯過程中有幾點必須注意的,當把其它程式或檔案Include 後會造成單一執行檔案的空間變大,因此在編譯時可以設定壓縮率,就和一般的壓縮軟體一樣,壓縮率高執行過程會比較慢,相對可以節省比較大的空間,反之在犧牲空間下可以加快執行的速度,另外可以勾選以UPX 壓縮方式可大幅縮小檔案容量與磁碟空間,加速網路下載。
範例:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Compression=3
#AutoIt3Wrapper_UseUpx=y
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.14.2
Author: 奔騰兔開發誌
Date : 2017/07/05
Script Function: Script Demo
Description :呼叫外部程式的進階運用
Notes:http://pentiumto.blogspot.tw/
#ce ----------------------------------------------------------------------------
Opt("TrayIconDebug", 1) ;0=no info, 1=debug line info
Opt("TrayIconHide", 0) ;0=show, 1=hide tray icon
Dim $sNowtime=@YEAR &"-"& @MON &"-"& @MDAY &" "& @HOUR &":"& @MIN
ConsoleWrite($sNowtime & " [Info] " & @ScriptLineNumber & " 自訂訊息可以在開發過程除錯 "&@CRLF)
FileInstall("c:\temp\pspasswd.exe", @ScriptDir & "\pspasswd.exe")
Dim $sNewPassword = "NewPassword"
_ExecReset()
Func _ExecReset()
RegWrite("HKEY_CURRENT_USER\Software\Sysinternals\PsPasswd" , "EulaAccepted", "REG_DWORD", "1")
Sleep(1000)
RunWait(@ComSpec & " /c " & "pspasswd.exe \\" & @ComputerName & " administrator " & $sNewPassword,@ScriptDir,@SW_HIDE)
EndFunc