如何读取AUTOIT程序编译时间为一个变量
创建时间和修改时间 是可以修改的。。。 如果编译后没被修改过,修改时间就是编译时间 楼上说正解哦 本帖最后由 pusofalse 于 2012-5-4 20:25 编辑PE文件结构中,的确有一个位置记录着编译时间,但并非绝对准确,因为很多编译器只是随便设一个值而已。对于Au3这样的脚本语言而言,编译时间是 解析器的编译时间,而非Au3程序的编译时间。
#include <PeShellX.au3>
#include <WinAPI.au3>
#include <Date.au3>
Const $PE_FILEPATH = @AutoItExe
Local $pLibrary = _WinAPI_LoadLibrary($PE_FILEPATH)
If Not _PeIsValidPE($pLibrary) Then Exit 1
Local $pNtHeader = _PeGetFileHeader($pLibrary)
Local $tNtHeader = DllStructCreate("dword Reserved;long TimeDateStamp", $pNtHeader)
Local $iTimeDateStamp = DllStructGetData($tNtHeader, "TimeDateStamp")
Local $sCompileDate = _DateAdd("s", $iTimeDateStamp, "1969/12/31 16:00:00")
MsgBox(0, "Compile Date", $sCompileDate)
_WinAPI_FreeLibrary($pLibrary) 本帖最后由 xms77 于 2012-5-4 21:16 编辑
$CreateTime = FileGetTime(@ScriptFullPath,1,1);创建时间
$CompileTime = FileGetTime(@ScriptFullPath,0,1)
页:
[1]