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

請問如何知道目前的作業系統是否在 XP EMBEDDED下?

尚未結案
nicolas
一般會員


發表:39
回覆:40
積分:15
註冊:2004-05-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-15 14:57:07 IP:61.219.xxx.xxx 未訂閱
請問如何知道目前的作業系統是否在 XP EMBEDDED下? 謝謝
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-15 15:25:12 IP:61.70.xxx.xxx 未訂閱
您好: 請參考以下連結. 如何判斷電腦執行的Windows版本 http://delphi.ktop.com.tw/link.asp?topic_id=18235 如何判斷電腦執行的Windows版本 http://delphi.ktop.com.tw/link.asp?topic_id=24977 如何測知目前使用OS名稱 http://delphi.ktop.com.tw/link.asp?topic_id=37142 取得系統的資訊 http://delphi.ktop.com.tw/link.asp?topic_id=23574 偵測系統 http://delphi.ktop.com.tw/topic.php?topic_id=19528 發表人 - supman 於 2005/06/15 16:31:36
nicolas
一般會員


發表:39
回覆:40
積分:15
註冊:2004-05-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-06-15 19:15:52 IP:61.219.xxx.xxx 未訂閱
我問的是 XP EMBEDDED 呀!
JustinShen
中階會員


發表:22
回覆:104
積分:80
註冊:2003-09-20

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-06-17 08:28:50 IP:221.225.xxx.xxx 未訂閱
引言: 我問的是 XP EMBEDDED 呀!
知道os的名称和版本难道不够吗?
------
====================
我为一切作努力!
Justin Shen

nicolas
一般會員


發表:39
回覆:40
積分:15
註冊:2004-05-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-06-17 09:29:25 IP:61.219.xxx.xxx 未訂閱
那該怪我沒寫清楚! 我是想分出XP與嵌入式XP的不同, 我的嵌入式XP產生TRAY ICON, 也就是右下角MSN的圖樣, 但是看不到. 如果FORM被關了, FORM就沒辦法再被打開. 所以如果是嵌入式XP, 就要讓FORM不能被關掉.
rexchiu
中階會員


發表:14
回覆:88
積分:70
註冊:2002-03-17

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-06-17 11:39:15 IP:220.130.xxx.xxx 未訂閱
參考 http://delphi.ktop.com.tw/topic.php?topic_id=55607 該討論中hagar的大作,再作點小修改. 在function GetOSVersionText: string;中
function GetOSVersionText: string;
var
  Info: TOSVersionInfoEx;
  Key: HKEY;
begin
  Result := '';
  if (not GetOSVersionInfo(Info)) then
    Exit;
  case Info.dwPlatformId of
    { Win32s } 
    VER_PLATFORM_WIN32s:
      Result := 'Microsoft Win32s'; 
    { Windows 9x }
    VER_PLATFORM_WIN32_WINDOWS:
      if (Info.dwMajorVersion = 4) and (Info.dwMinorVersion = 0) then
      begin
        Result := 'Microsoft Windows 95';
        if (Info.szCSDVersion[1] in ['B', 'C']) then
          Result := Result  ' OSR2'; 
      end
      else if (Info.dwMajorVersion = 4) and (Info.dwMinorVersion = 10) then 
      begin 
        Result := 'Microsoft Windows 98';
        if (Info.szCSDVersion[1] = 'A') then 
          Result := Result   ' SE'; 
      end
      else if (Info.dwMajorVersion = 4) and (Info.dwMinorVersion = 90) then 
        Result := 'Microsoft Windows Millennium Edition'; 
    { Windows NT }
    VER_PLATFORM_WIN32_NT: 
      begin 
        { Version }
        if (Info.dwMajorVersion = 5) and (Info.dwMinorVersion = 2) then 
          Result := 'Microsoft Windows Server 2003' 
        else if (Info.dwMajorVersion = 5) and (Info.dwMinorVersion = 1) then
        begin
          Result := 'Microsoft Windows XP';
          if (Info.wSuiteMask and VER_SUITE_EMBEDDEDNT <> 0) then
             Result := Result  ' Embedded';
        end
        else if (Info.dwMajorVersion = 5) and (Info.dwMinorVersion = 0) then
          Result := 'Microsoft Windows 2000' 
        else 
          Result := 'Microsoft Windows NT';
        { Extended } 
        if (Info.dwOSVersionInfoSize >= SizeOf(TOSVersionInfoEx)) then 
        begin
          { ProductType } 
          if (Info.wProductType = VER_NT_WORKSTATION) then 
          begin
            if (Info.dwMajorVersion = 4) then 
              Result := Result   #10'Workstation 4.0' 
            else if(Info.wSuiteMask and VER_SUITE_PERSONAL <> 0) then
              Result := Result   #10'Home Edition' 
            else
              Result := Result   #10'Professional';
          end 
          else if (Info.wProductType = VER_NT_SERVER) then 
          begin
             if (Info.dwMajorVersion = 5) and (Info.dwMinorVersion = 2) then 
             begin 
               if (Info.wSuiteMask and VER_SUITE_DATACENTER <> 0) then
                 Result := Result   #10'Datacenter Edition' 
               else if (Info.wSuiteMask and VER_SUITE_ENTERPRISE <> 0) then 
                 Result := Result   #10'Enterprise Edition'
               else if (Info.wSuiteMask = VER_SUITE_BLADE) then 
                 Result := Result   #10'Web Edition' 
               else
                 Result := Result   #10'Standard Edition'; 
             end
             else if (Info.dwMajorVersion = 5) and (Info.dwMinorVersion = 0) then
             begin
               if (Info.wSuiteMask and VER_SUITE_DATACENTER <> 0) then
                  Result := Result   #10'Datacenter Server'
               else if (Info.wSuiteMask and VER_SUITE_ENTERPRISE <> 0) then
                  Result := Result   #10'Advanced Server'
               else
                  Result := Result   #10'Server';
             end
             else 
             begin
               Result := Result   #10'Server '  
                 IntToStr(Info.dwMajorVersion)   '.'  
                 IntToStr(Info.dwMinorVersion);
               if (Info.wSuiteMask and VER_SUITE_ENTERPRISE <> 0) then
                 Result := Result   ', Enterprise Edition';
             end;
          end;
        end;
        { CSDVersion }
        if (Info.dwMajorVersion = 4) and
          (StrIComp(Info.szCSDVersion, 'Service Pack 6') = 0) and
          (RegOpenKeyEx(HKEY_LOCAL_MACHINE,
            'SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\Q246009', 0,
            KEY_QUERY_VALUE, Key) = ERROR_SUCCESS) then
        begin
          Result := Result   #10'Service Pack 6a';
          RegCloseKey(Key);
        end
        else
          Result := Result   #10   StrPas(Info.szCSDVersion);
        Result := Result   #10'(Build '  
          IntToStr(Info.dwBuildNumber and $FFFF)   ')';
      end;
  end;
end;
紅色字的部份就可以讓你判斷是否為 XP Embedded了 Best Regards, Rex Chiu
------
Best Regards,
Rex Chiu
系統時間:2024-03-29 10:32:46
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!