如何測知目前使用OS名稱 |
答題得分者是:cmf
|
mcho
初階會員 發表:57 回覆:106 積分:42 註冊:2002-11-11 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
dwVersion := GetVersion; // Get major and minor version numbers of Windows dwWindowsMajorVersion := (DWORD)(LOBYTE(LOWORD(dwVersion))); dwWindowsMinorVersion := (DWORD)(HIBYTE(LOWORD(dwVersion))); // Get build numbers for Windows NT or Win32s if dwVersion < $80000000 then // Windows NT dwBuild := (DWORD)(HIWORD(dwVersion)) else if dwWindowsMajorVersion < 4 then // Win32s dwBuild := (DWORD)(HIWORD(dwVersion) AND (NOT $8000)) else // Windows 95 -- No build numbers provided dwBuild := 0;發表人 - cmf 於 2003/09/09 14:47:44
------
︿︿ |
mcho
初階會員 發表:57 回覆:106 積分:42 註冊:2002-11-11 發送簡訊給我 |
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TForm1 = class(TForm) Image1: TImage; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); Var dwVersion,dwWindowsMajorVersion ,dwWindowsMinorVersion ,dwBuild:DWORD; s:string; begin dwVersion := GetVersion; // Get major and minor version numbers of Windows dwWindowsMajorVersion := DWORD(LOBYTE(LOWORD(dwVersion))); dwWindowsMinorVersion := DWORD(HIBYTE(LOWORD(dwVersion))); // Get build numbers for Windows NT or Win32s if dwVersion < $80000000 then // Windows NT begin dwBuild := DWORD(HIWORD(dwVersion)); s:=' Windows NT'; end else if dwWindowsMajorVersion < 4 then // Win32s begin dwBuild := DWORD(HIWORD(dwVersion) AND (NOT $8000)) ; s:='Win32s'; end else // Windows 95 -- No build numbers provided begin s:='Windows 95'; dwBuild := 0; end; Showmessage(s ' VER' INTtostr(dwWindowsMajorVersion) '.' inttostr(dwWindowsMinorVersion)); end; end.
------
︿︿ |
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
procedure TForm1.FormCreate(Sender: TObject); Var s:string; osvi:TOSVERSIONINFO ; begin osvi.dwOSVersionInfoSize := sizeof(OSVERSIONINFO); if GetVersionEx(osvi)=FALSE then begin exit; end; if osvi.dwPlatformId=VER_PLATFORM_WIN32_NT then begin if ( osvi.dwMajorVersion = 5) AND (osvi.dwMinorVersion = 2 ) then s:='Microsoft Windows Server 2003 family,' else if ( osvi.dwMajorVersion = 5) AND (osvi.dwMinorVersion = 1 ) then s:='Microsoft Windows XP ' else if ( osvi.dwMajorVersion = 5) AND (osvi.dwMinorVersion = 0 ) then s:='Microsoft Windows 2000 ' else if osvi.dwMajorVersion <= 4 then s:='Microsoft Windows NT '; end else if osvi.dwPlatformId=VER_PLATFORM_WIN32_WINDOWS then begin if (osvi.dwMajorVersion = 4) and (osvi.dwMinorVersion = 0) then begin s:='Microsoft Windows 95 '; if ( osvi.szCSDVersion[1] = 'C') or (osvi.szCSDVersion[1] = 'B' ) then s:=s ' OSR2 '; end else if (osvi.dwMajorVersion = 4) and ( osvi.dwMinorVersion = 10) then begin s:='Microsoft Windows 98 '; if osvi.szCSDVersion[1] = 'A' then s:=s 'SE '; end else if (osvi.dwMajorVersion = 4) and (osvi.dwMinorVersion = 90) then s:=s 'Microsoft Windows Millennium Edition'; end else if osvi.dwPlatformId=VER_PLATFORM_WIN32s then begin s:= 'Microsoft Win32s'; end; Showmessage(s); end;願以此功德 莊嚴佛淨土 上報四重恩 下濟三塗苦 若有見聞者 悉發菩提心 盡此一報身 同生極樂國
------
︿︿ |
mcho
初階會員 發表:57 回覆:106 積分:42 註冊:2002-11-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |