正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!
您需要 登录 才可以下载或查看,没有账号?立即注册
x
用InstallShield制作安装包时,有时候需要判断操作系统的类型(如Windows XP或者是Windows Vista等)
方法一:采用注册表的方式进行判断,例程如下:
- NUMBER nOS,nvResult;
- STRING svOS;
- nOS = REGDB_NUMBER;
- RegDBSetDefaultRoot( HKEY_LOCAL_MACHINE );
- RegDBGetKeyValueEx( "SOFTWARE//Microsoft//Windows NT//CurrentVersion","CurrentVersion", nOS, svOS, nvResult);
- if (svOS == "6.0") then
- MessageBox("We are on Vista!", INFORMATION);
- else
- if (svOS == "5.1") then
- MessageBox("We are on XP!",INFORMATION);
- endif;
- endif;
复制代码
方法二:采用GetSystemInfo函数进行处理,请看下面的说明信息:
- SYSINFO.nWinMajor:
- 4 The operating system is Windows NT 4.0.
- 5 The operating system is Windows Server 2003 R2, Windows Server 2003, Windows XP,or Windows 2000.
- 6 The operating system is Windows Vista or Windows Server 2008.
- SYSINFO.nWinMinor:
- 0 The operating system is Windows Vista, Windows Server 2008, Windows 2000, or Windows NT 4.0.
- 1 The operating system is Windows XP.
- 2 The operating system is Windows Server 2003 R2, Windows Server 2003, or Windows XP Professional x64 Edition.
- GetSystemInfo(WINMINOR, nvResult, svResult);
- GetSystemInfo(WINMAJOR, nvResult, svResult);
复制代码
方法二可以通过InstallShield的帮助文档找到更详细的信息。 方法三:通过SYSINFO.WINNT的方法进行判断,例程如下:
- if (SYSINFO.WINNT.bWinVista) then
- if (SYSINFO.nOSProductType = VER_NT_WORKSTATION) then
- // 当前操作系统为Windows Vista
- endif;
- endif;
- if (SYSINFO.WINNT.bWinXP) then
- 当前操作系统为Windows XP
- endif;
复制代码
上述三种方法是最为常见的解决办法,当然亦可能还有其他的方法可以进行处理。
|