通过获取文件是否可加载和是否拥有Windows 可执行文件的标志来判断

Plain text
复制到剪贴板
Open code in new window
EnlighterJS 3 Syntax Highlighter
MsgBox % IsExecutableFile("D:\PSTools\Hash.exe")
IsExecutableFile(FilePath) {
if FileExist(FilePath) {
FileRead, FileData, %FilePath%
if (SubStr(FileData, 1, 2) = "MZ") ; MZ 是 Windows 可执行文件的标志
Return 1
else
Return 0
} else
Return -1
}
/*
; 通过获取文件是否可加载和是否拥有Windows 可执行文件的标志来判断
; 此函数存在32位解释器,无法加载64位exe的问题【只能32位读32位,64位读64位】
IsExecutableFile(FilePath) {
if FileExist(FilePath) {
if (exehModule := DllCall("LoadLibrary", "Str", FilePath, "Ptr")) {
DllCall("FreeLibrary", "Ptr", exehModule) ; 释放模块
FileRead, FileData, %FilePath%
if (SubStr(FileData, 1, 2) = "MZ") ; MZ 是 Windows 可执行文件的标志
Return 1
else
Return 0
} else
Return 0
} else
Return -1
}
*/
MsgBox % IsExecutableFile("D:\PSTools\Hash.exe") IsExecutableFile(FilePath) { if FileExist(FilePath) { FileRead, FileData, %FilePath% if (SubStr(FileData, 1, 2) = "MZ") ; MZ 是 Windows 可执行文件的标志 Return 1 else Return 0 } else Return -1 } /* ; 通过获取文件是否可加载和是否拥有Windows 可执行文件的标志来判断 ; 此函数存在32位解释器,无法加载64位exe的问题【只能32位读32位,64位读64位】 IsExecutableFile(FilePath) { if FileExist(FilePath) { if (exehModule := DllCall("LoadLibrary", "Str", FilePath, "Ptr")) { DllCall("FreeLibrary", "Ptr", exehModule) ; 释放模块 FileRead, FileData, %FilePath% if (SubStr(FileData, 1, 2) = "MZ") ; MZ 是 Windows 可执行文件的标志 Return 1 else Return 0 } else Return 0 } else Return -1 } */
MsgBox % IsExecutableFile("D:\PSTools\Hash.exe")

IsExecutableFile(FilePath) {
  if FileExist(FilePath) {
    FileRead, FileData, %FilePath%
    if (SubStr(FileData, 1, 2) = "MZ") ; MZ 是 Windows 可执行文件的标志
      Return 1
    else
      Return 0
  } else
    Return -1
}

/*
; 通过获取文件是否可加载和是否拥有Windows 可执行文件的标志来判断
; 此函数存在32位解释器,无法加载64位exe的问题【只能32位读32位,64位读64位】
IsExecutableFile(FilePath) {
  if FileExist(FilePath) {
    if (exehModule := DllCall("LoadLibrary", "Str", FilePath, "Ptr")) {
      DllCall("FreeLibrary", "Ptr", exehModule)  ; 释放模块
      FileRead, FileData, %FilePath%
      if (SubStr(FileData, 1, 2) = "MZ") ; MZ 是 Windows 可执行文件的标志
        Return 1
      else
        Return 0
    } else
      Return 0
  } else
    Return -1
}
*/

 

声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。