File

作者: Sean 最近更新时间: 20071011


Seans standard library for different purposes, mostly about file and internet access. It is needed by some scripts from Sean.

File_AES(sFileFr, sFileTo, sPassword, SID = 256, bEncrypt = True)
File_CloseHandle(hFile)
File_CreateFile(sFile, nCreate = 3, nAccess = 0x1F01FF, nShare = 3, bFolder = False)
File_DeleteFile(sFile)
File_GetFileSize(hFile)
File_Hash(sFile, SID = "CRC32")
File_InternetCloseHandle(Handle)
File_InternetOpen(sAgent = "AutoHotkey", nType = 4)
File_InternetOpenUrl(hInet, sUrl, nFlags = 0, pHeaders = 0)
File_InternetReadFile(hFile, pBuffer, nSize = 1024)
File_InternetSetFilePointer(hFile, nPos = 0, nMove = 0)
File_InternetWriteFile(hFile, pBuffer, nSize = 1024)
File_ReadFile(hFileFr,&sBuffer,nSize)
File_ReadMemory(sFile, pBuffer, nSize = 512, bAppend = False)
File_SetEndOfFile(hFile)
File_SetFilePointer(hFile, bAppend ? 2 : 0)
File_WriteFile(hFileTo,&sBuffer,nSize)
File_WriteMemory(sFile, ByRef sBuffer, nSize = 0)

关于函数的参数和返回值, 请参阅其源码.

备注

This comes within the File.zip, together with Crypt.ahk. It supersedes and makes FileHelper.ahk deprecated.

关于此函数(集)的更新细节和注意事项, 请参见 AutoHotkey 论坛: http://www.autohotkey.com/forum/viewtopic.php?t=19608

许可

不存在

示例

; #Include Crypt.ahk
; #Include File.ahk
#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir%

; http://www.autohotkey.com/forum/viewtopic.php?p=151228#151228
sFileOriginl   := A_AhkPath    ; Specify the real file path here!
sPassword   := "AutoHotkey"    ; Specify your own password here!

SID := 128   ; 128bit AES
sFileEncrypt := A_Temp . "\encrypt" . SID . ".bin"    ; Specify encrypted file path.
sFileDecrypt := A_Temp . "\decrypt" . SID . ".exe"    ; Specify decrypted file path.
File_AES(sFileOriginl, sFileEncrypt, sPassword, SID, True)    ; Encryption
File_AES(sFileEncrypt, sFileDecrypt, sPassword, SID, False)   ; Decryption

SID := 192   ; 192bit AES
sFileEncrypt := A_Temp . "\encrypt" . SID . ".bin"
sFileDecrypt := A_Temp . "\decrypt" . SID . ".exe"
File_AES(sFileOriginl, sFileEncrypt, sPassword, SID, True)    ; Encryption
File_AES(sFileEncrypt, sFileDecrypt, sPassword, SID, False)   ; Decryption

SID := 256   ; 256bit AES
sFileEncrypt := A_Temp . "\encrypt" . SID . ".bin"
sFileDecrypt := A_Temp . "\decrypt" . SID . ".exe"
File_AES(sFileOriginl, sFileEncrypt, sPassword, SID, True)    ; Encryption
File_AES(sFileEncrypt, sFileDecrypt, sPassword, SID, False)   ; Decryption

MsgBox, % "CRC32:`t"   . File_Hash(sFileOriginl, "CRC32")   . "`n"
   . "MD5:`t"   . File_Hash(sFileOriginl, "MD5")   . "`n"
   . "SHA1:`t"   . File_Hash(sFileOriginl, "SHA1")   . "`n"