線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1049
推到 Plurk!
推到 Facebook!

如何測知目前使用OS名稱

答題得分者是:cmf
mcho
初階會員


發表:57
回覆:106
積分:42
註冊:2002-11-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-09-09 14:37:37 IP:61.224.xxx.xxx 未訂閱
請問各位大大: 我目前用D5如何測知目前使用OS名稱(WIN98 OR WIN2000),請各位大大指點! 謝謝! 何明昌
------
何明昌
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-09-09 14:43:55 IP:147.8.xxx.xxx 未訂閱
cmf
尊榮會員


發表:84
回覆:918
積分:1032
註冊:2002-06-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-09-09 14:44:17 IP:61.218.xxx.xxx 未訂閱
 
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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-09-09 15:07:04 IP:61.224.xxx.xxx 未訂閱
Hi! cmf:你好! 請問 GetVersion 函數從那裡叫出!可否做一完整範例!謝謝! 何明昌
------
何明昌
cmf
尊榮會員


發表:84
回覆:918
積分:1032
註冊:2002-06-26

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-09-09 15:36:18 IP:61.218.xxx.xxx 未訂閱
     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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-09-09 16:55:13 IP:61.218.xxx.xxx 未訂閱
    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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-09-10 10:30:21 IP:61.224.xxx.xxx 未訂閱
Hi! cmf:你好! 謝謝您的菩薩心,讓我受益良多,真希望有幸認識您! 何明昌
------
何明昌
系統時間:2024-05-04 0:08:04
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!