VB中如何检测程序是否运行在PE中?

来源:百度知道 编辑:UC知道 时间:2024/05/18 02:14:42
如题。因为光盘上的PE会自动运行光盘上的autorun.inf,从而指定到我的程序A。而我不想让程序A在PE中运行,只是想让他在非PE环境下运行。
程序A是我用VB编的。那我应该加什么代码进去?

问题补充:
PE 是 Win PE 2008-02-03 02:22
要有VB代码...而且不要建任何目录和文件...

用api函数GetVersionEx
这段代码比较全面
不过手上没有WinPE,所以返回值还要你自己测试下是多少

Option Explicit

Private Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFOEX) As Long

Private Type OSVERSIONINFOEX
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
wServicePackMajor As Integer
wServicePackMinor As Integer
wSuiteMask As Integer
wProductType As Byte
wReserved As Byte
End Type

Private Const VER_PLATFORM_WIN32_NT As Long = 2
Private Const VER_PLATFORM_WIN32_WINDOWS As Long = 1
Private Const VER_PLATFORM_WIN32s As Long = 0

Private Const PRODUCT_UNLICENSED As Long = &HABCDABCD
Private Const PRODUCT_BUSINESS As Long = &H6
Private Const PRODUCT_BUSIN