如何在 Delphi 裡偵測作業系統是 VISTA? |
答題得分者是:pcboy
|
Arnor
一般會員 發表:28 回覆:29 積分:16 註冊:2006-10-28 發送簡訊給我 |
|
pcboy
版主 發表:177 回覆:1838 積分:1463 註冊:2004-01-13 發送簡訊給我 |
請參考
[code cpp] // 判斷作業系統版本 // Delphi 7 Enterprise unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var OS: TOSVersionInfo; bOsVersionInfoEx : Boolean; OS_Desc: String; begin // ZeroMemory(@OS,SizeOf(OS)); OS.dwOSVersionInfoSize:=SizeOf(OS); bOsVersionInfoEx:=GetVersionEx(OS); Memo1.Clear; Memo1.Lines.Add('dwOSVersionInfoSize : ' IntToStr(OS.dwOSVersionInfoSize)); Memo1.Lines.Add('dwMajorVersion : ' IntToStr(OS.dwMajorVersion)); Memo1.Lines.Add('dwMinorVersion : ' IntToStr(OS.dwMinorVersion)); Memo1.Lines.Add('dwBuildNumber : ' IntToStr(OS.dwBuildNumber)); Memo1.Lines.Add('dwPlatformId : ' IntToStr(OS.dwPlatformId)); Memo1.Lines.Add('szCSDVersion : ' OS.szCSDVersion); Memo1.Lines.Add(''); // 不支援 Memo1.Lines.Add(bOsVersionInfoEx); // 不支援 Memo1.Lines.Add(OS.wProductType); case OS.dwPlatformId of VER_PLATFORM_WIN32_NT: begin if ( os.dwMajorVersion = 6) then OS_Desc:='Microsoft Windows Vista'; if (( os.dwMajorVersion = 5) and (os.dwMinorVersion = 2 )) then OS_Desc:='Microsoft Windows Server 2003'; if (( os.dwMajorVersion = 5) and (os.dwMinorVersion = 1 )) then OS_Desc:='Microsoft Windows XP'; if ( os.dwMajorVersion = 5) and (os.dwMinorVersion = 0 ) then OS_Desc:='Microsoft Windows 2000'; if ( os.dwMajorVersion <= 4 ) then OS_Desc:='Microsoft Windows NT'; end; 6..9: Caption := 'High'; 0, 10..99: Caption := 'Out of range'; else OS_Desc:='N/A'; end; Memo1.Lines.Add(OS_Desc); end; end. [/code]
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案! 子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |