国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C# 獲取Windows系統(tǒng)版本注意事項(xiàng)

這篇具有很好參考價(jià)值的文章主要介紹了C# 獲取Windows系統(tǒng)版本注意事項(xiàng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

首先通過微軟官方文檔:https://learn.microsoft.com/zh-cn/windows/win32/sysinfo/operating-system-version了解各個(gè)操作系統(tǒng)對(duì)應(yīng)的版本號(hào)

C# 獲取Windows系統(tǒng)版本注意事項(xiàng),c#,windows,開發(fā)語言

?下面介紹3種獲取版本號(hào)的方式及弊端

1.?Environment.OSVersion.Version

            OperatingSystem os = Environment.OSVersion;

            // 判斷操作系統(tǒng)版本
            if (os.Version.Major == 10 && os.Version.Build < 22000)
            {
                textBlock.Text = "當(dāng)前操作系統(tǒng)是 Windows 10";
            }
            else if (os.Version.Major == 10 && os.Version.Build >= 22000)
            {
                textBlock.Text = "當(dāng)前操作系統(tǒng)是 Windows 11";
            }
            else
            {
                textBlock.Text = $"當(dāng)前操作系統(tǒng)既不是  Windows 10也不是 Windows 11";
            }

該方式適合.NET Framework,并且必須添加應(yīng)用程序清單文件,并且需要把程序應(yīng)用程序清單文件里面的supportedOS項(xiàng)取消注釋(默認(rèn)是注釋的)

C# 獲取Windows系統(tǒng)版本注意事項(xiàng),c#,windows,開發(fā)語言

?2.?System.Runtime.InteropServices.RuntimeInformation.OSDescription

            var osDescription = System.Runtime.InteropServices.RuntimeInformation.OSDescription;
            var osDescs = osDescription.Split(' ');
            foreach (var osDesc in osDescs)
            {
                if (!osDesc.Contains(".")) continue;
                var versions = osDesc.Split('.');
                if (versions.Length < 2) continue;
                if (int.Parse(versions[0]) == 10 && int.Parse(versions[2]) < 22000)
                {
                    textBlock.Text = "當(dāng)前操作系統(tǒng)是 Windows 10";
                }
                else if (int.Parse(versions[0]) == 10 && int.Parse(versions[2]) >= 22000)
                {
                    textBlock.Text = "當(dāng)前操作系統(tǒng)是 Windows 11";
                }
                else
                {
                    textBlock.Text = $"當(dāng)前操作系統(tǒng)既不是  Windows 10也不是 Windows 11";
                }
            }

該方式適合.NET Core以上(.net framework 4.7以上)

3. 從注冊(cè)表中獲取版本信息

            using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion"))
            {
                string productName = key.GetValue("ProductName") as string;
                int majorVersion = (int)key.GetValue("CurrentMajorVersionNumber");
                var buildNumber = int.Parse(key.GetValue("CurrentBuildNumber").ToString());

                if (!string.IsNullOrEmpty(productName) && productName.ToLower().Contains("windows"))
                {
                    if (majorVersion > 10 || majorVersion == 10 && buildNumber >= 22000)
                    {
                        textBlock.Text = "當(dāng)前操作系統(tǒng)是 Windows 11";
                    }
                    else if (majorVersion == 10 && buildNumber < 22000)
                    {
                        textBlock.Text = "當(dāng)前操作系統(tǒng)是 Windows 10";
                    }
                    else
                    {
                        textBlock.Text = $"當(dāng)前操作系統(tǒng)既不是  Windows 10也不是 Windows 11";
                    }
                }
            }

該方式暫時(shí)沒發(fā)現(xiàn)問題,但是需要使用版本號(hào)推斷是Win11

4.?從WMI獲取系統(tǒng)版本(推薦)

            foreach (var o in new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem").Get())
            {
                var obj = (ManagementObject)o;

                // Microsoft Windows 11 企業(yè)版
                var caption = obj.GetPropertyValue("Caption");

                // 10.0.22000
                var version = obj.GetPropertyValue("Version");
                break;
            }

該方式可以準(zhǔn)確獲取Windows版本描述和版本號(hào)文章來源地址http://www.zghlxwxcb.cn/news/detail-692993.html

到了這里,關(guān)于C# 獲取Windows系統(tǒng)版本注意事項(xiàng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • C#實(shí)現(xiàn)SM2簽名(對(duì)接醫(yī)保接口注意事項(xiàng))

    最近在做對(duì)接醫(yī)保接口的項(xiàng)目,入?yún)⒁筮M(jìn)行SM2簽名(注意:是簽名而非加密,開始理解成加密研究了一堆加密源碼,使用提供的私鑰也會(huì)報(bào)錯(cuò),后面才發(fā)現(xiàn)SM2有專門的簽名方法,而接口調(diào)用簽名也就是 SM2簽名 而非加密) 下面是說明適用于2022年云南省醫(yī)保平臺(tái)相關(guān)項(xiàng)目:

    2024年02月15日
    瀏覽(31)
  • C# Solidworks二次開發(fā):自動(dòng)創(chuàng)建虛擬零件及使用注意事項(xiàng)

    C# Solidworks二次開發(fā):自動(dòng)創(chuàng)建虛擬零件及使用注意事項(xiàng)

    今天要講的是關(guān)于在solidworks中如何自動(dòng)創(chuàng)建虛擬零件的功能,也就是solidworks中插入新零件這個(gè)功能。 實(shí)現(xiàn)這個(gè)功能需要使用的API如下所示: InsertNewVirtualPart(swFaceOrPlane1, out swcomp2); 其中這個(gè)方法中使用到了兩個(gè)參數(shù)。 第一個(gè)參數(shù):為一個(gè)平面,或是一個(gè)基準(zhǔn)平面。 第二

    2024年02月15日
    瀏覽(28)
  • C#反射的學(xué)習(xí),反射的一些注意事項(xiàng),反射的一些使用代碼的實(shí)例

    本文檔寫的的是C#中的反射常用的方式(附帶示例代碼)以及在使用的時(shí)候的一些注意事項(xiàng)。 C#中的反射是一種強(qiáng)大的機(jī)制,它允許在運(yùn)行時(shí)動(dòng)態(tài)地檢查、訪問和操作程序的元數(shù)據(jù)、類型信息和對(duì)象。以下是C#中反射常用的技巧和使用方式: 獲取類型信息:使用Type類可以獲取

    2024年02月06日
    瀏覽(24)
  • Go新項(xiàng)目-Golang使用RemoteAddr()獲取遠(yuǎn)程主機(jī)地址的注意事項(xiàng)(9)

    Go新項(xiàng)目-Golang使用RemoteAddr()獲取遠(yuǎn)程主機(jī)地址的注意事項(xiàng)(9)

    http.Request 下的方法RemoteAddr() 可以獲取客戶端的地址和端口號(hào),最近的一個(gè)項(xiàng)目中用到了這個(gè)方法。 使用過程中一直都沒有什么問題,但是當(dāng)項(xiàng)目上線之后就發(fā)現(xiàn)不管怎么獲取ip,客戶端地址都是127.0.0.1 。 對(duì)于這個(gè)問題一直百思不得其解,最后搞了半天才發(fā)現(xiàn)是nginx 的原因。

    2024年01月20日
    瀏覽(20)
  • HTC vive pro & unity開發(fā)者軟件/SDK版本注意事項(xiàng)

    SteamVR插件是unity中VR開發(fā)的基礎(chǔ),必不可少。unity軟件上實(shí)現(xiàn)對(duì)VR設(shè)備(頭顯、控制器、tracker)的渲染、實(shí)時(shí)追蹤等功能。 推薦版本: SteamVR插件v1.2.3 link. VRTK是一套VR動(dòng)作交互(移動(dòng)、拾取等)的解決方案,提供了現(xiàn)成的交互代碼。開發(fā)者也可以基于SteamVR開發(fā)自己的交互代碼

    2024年02月06日
    瀏覽(20)
  • 微信小程序wx.getFuzzyLocation獲取經(jīng)緯度的成功使用示例,以及注意事項(xiàng)

    微信小程序wx.getFuzzyLocation獲取經(jīng)緯度的成功使用示例,以及注意事項(xiàng)

    注意事項(xiàng): 1. 微信小程序基礎(chǔ)庫(kù)必須在 2.25.0及以上 才可以用這個(gè)接口,并且微信開發(fā)者工具也要是最新的 2.這個(gè)定位接口在編譯器中報(bào)錯(cuò),只有在 真機(jī)中好用 (偶爾在編譯器中也好用),可以使用真機(jī)調(diào)試進(jìn)行開發(fā)查看效果 上代碼。 第一步:先在小程序公眾平臺(tái)? ? 開發(fā)

    2024年02月11日
    瀏覽(78)
  • 高并發(fā)架構(gòu)系統(tǒng)設(shè)計(jì)注意事項(xiàng)

    本文從以下幾點(diǎn)介紹一下設(shè)計(jì)一個(gè)高流量高并發(fā)的系統(tǒng)需要經(jīng)歷哪些步驟以及考慮哪些因素(文章中的不足之處還請(qǐng)大佬們多多指點(diǎn))。 在設(shè)計(jì)一個(gè)系統(tǒng)之前,我們先要有一個(gè)統(tǒng)一且清晰的認(rèn)知:不要想著一下就能設(shè)計(jì)出完美的系統(tǒng),好的系統(tǒng)是迭代出來的。不要復(fù)雜化,要

    2024年02月07日
    瀏覽(24)
  • 手機(jī)自動(dòng)直播系統(tǒng)源碼交付與代理加盟注意事項(xiàng)解析!

    手機(jī)自動(dòng)直播系統(tǒng)源碼交付與代理加盟注意事項(xiàng)解析!

    隨著直播行業(yè)的不斷發(fā)展, 手機(jī)自動(dòng)直播 已經(jīng)成為了人們生活中不可或缺的一部分。 手機(jī)無人直播軟件 成了香餑餑,各類手機(jī)實(shí)景直播APP大批量涌現(xiàn)。因?yàn)閯?chuàng)業(yè)和技術(shù)門檻低,市場(chǎng)需求高,所以成了最火熱創(chuàng)業(yè)賽道。那么如果是不懂技術(shù)的人群,想找一做 手機(jī)自動(dòng)直播系

    2024年02月07日
    瀏覽(15)
  • IVI車載信息娛樂系統(tǒng)的網(wǎng)絡(luò)安全注意事項(xiàng)

    當(dāng)今新車購(gòu)買者的重點(diǎn)更多地集中在 “ 智能座艙生態(tài)系統(tǒng)體驗(yàn)”上 ,而不是動(dòng)力和油耗等傳統(tǒng)功能。汽車行業(yè)已將全連接車載信息娛樂(IVI)系統(tǒng)所提供的觸摸屏顯示器、語音命令和娛樂功能作為優(yōu)先開發(fā)項(xiàng)。 越來越多的終端消費(fèi)者希望獲得 “數(shù)字生態(tài)系統(tǒng)”體驗(yàn)?!爸?/p>

    2023年04月11日
    瀏覽(20)
  • C語言嵌入式系統(tǒng)編程注意事項(xiàng)之內(nèi)存操作

    C語言嵌入式系統(tǒng)編程注意事項(xiàng)之內(nèi)存操作

    在嵌入式系統(tǒng)的編程中,常常要求在特定的內(nèi)存單元讀寫內(nèi)容,匯編有對(duì)應(yīng)的MOV指令,而除C/C++以外的其它編程語言基本沒有直接訪問絕對(duì)地址的能力 數(shù)據(jù)指針 在嵌入式系統(tǒng)的編程中,常常要求在特定的內(nèi)存單元讀寫內(nèi)容,匯編有對(duì)應(yīng)的MOV指令,而除C/C++以外的其它編程語言

    2024年02月09日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包