如何判斷電腦執行的Windows版本? |
尚未結案
|
delphi
初階會員 發表:52 回覆:64 積分:38 註冊:2002-05-21 發送簡訊給我 |
function WinSystem : String;
var
OSVersion : TOSVersionInfo;
WinVersion: String;
OrdHigh : DWORD;
OrdLow : DWORD;
begin
OSVersion.dwOSVersionInfoSize := sizeof(OSVersion);
GetVersionEx(OSVersion);
OrdHigh := (OSVersion.dwBuildNumber shr 24) and $FF;
OrdLow := (OSVersion.dwBuildNumber shr 16) and $FF;
if OSVersion.dwPlatformId=VER_PLATFORM_WIN32_NT then
begin
if (OrdHigh>=5) then
begin
WinVersion := 'Windows 2000'
end else
begin
WinVersion := 'Windows NT'
end;
end;
if OSVersion.dwPlatformId=VER_PLATFORM_WIN32_WINDOWS then
begin
if (OrdLow>=90) or (OrdHigh>=5) then
begin
WinVersion := 'Windows Millennium'
end;
if (OrdLow>=10) and (OrdLow<90) then
begin
WinVersion := 'Windows 98'
end;
if (OrdLow<10) then
begin
WinVersion := 'Windows 95'
end;
if (OrdLow<5) then
begin
WinVersion := 'Windows 3.1/ WfWg'
end;
end;
Result := WinVersion;
end;
這個只能判斷nt,就算在2000ㄉ版本下也是判斷成nt,請問如何判斷nt,2000,xp
謝謝各位先進
^o^
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
If you're using Delphi 7, take a look at SysUtils.pas for the following: Win32Platform
Win32MajorVersion
Win32MinorVersion
Win32BuildNumber function CheckWin32Version(AMajor: Integer; AMinor: Integer = 0): Boolean; On my 2000: Win32MajorVersion=5
|
Miles
尊榮會員 發表:27 回覆:662 積分:622 註冊:2002-07-12 發送簡訊給我 |
Hi Delphi 兄您好:
試試這段
< class="code">
轉貼
type
TWin32Version = (wvUnknown,
wvWin95,
wvWin98,
wvWinNT,
wvWin2000); function GetWinVersion: TWin32Version;
begin
Result := wvUnknown;
if Win32Platform = VER_PLATFORM_WIN32_WINDOWS then
if (Win32MajorVersion > 4) or
((Win32MajorVersion = 4) and
(Win32MinorVersion > 0)) then
Result := wvWin98
else
Result := wvWin95
else
if Win32MajorVersion <= 4 then
Result := wvWinNT
else
if Win32MajorVersion = 5 then
Result := wvWin2000
end;
我不是高手, 高手是正在銀幕前微笑的人.
------
我不是高手, 高手是正在銀幕前微笑的人. |
delphi
初階會員 發表:52 回覆:64 積分:38 註冊:2002-05-21 發送簡訊給我 |
|
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
|
banson1716
高階會員 發表:55 回覆:182 積分:167 註冊:2002-04-14 發送簡訊給我 |
Windows類型和版本
從註冊表中得到目前操作系統是Windows95或是WindowsNT,並得到其版本,首先
要在USES段加入下面的內容
uses Registry, ComCtrls, ExtCtrls;
然後才在需要的地方加入下面這句
var
MyVersionInfo: TOSVersionInfo;
MyReg: TRegistry;
IsNT: Boolean;
begin
MyReg := TRegistry.Create;
MyReg.RootKey := HKEY_LOCAL_MACHINE; IsNT := False; MyVersionInfo.dwOSVersionInfoSize := sizeof(TOSVERSIONINFO); if GetVersionEx(MyVersionInfo) then
Label1.Caption := IntToStr(MyVersionInfo.dwPlatformId)
else Label1.Caption := 'false'; if MyVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS then
Label1.Caption := 'Windows 95';
if MyVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT then
begin
IsNT := True;
Label1.Caption := 'Windows NT';
end; try
if IsNT then
if not MyReg.OpenKey('\SOFTWARE\Microsoft\Windows NT\CurrentVersion', FALSE) then
else Label2.Caption := MyReg.ReadString('CurrentVersion')
else
if not MyReg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion', FALSE) then
else Label2.Caption := MyReg.ReadString('VersionNumber');
finally
end; // try..finally
end;
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |