最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#實現(xiàn)獲取電腦硬件顯卡核心代號信息

 更新時間:2024年01月28日 09:01:37   作者:全棧小5  
這篇文章主要為大家詳細介紹了如何利用C#實現(xiàn)獲取電腦硬件顯卡核心代號信息,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下

背景

在上一篇文章已經(jīng)通過C#獲取到電腦顯卡信息,在獲取顯卡核心代號信息時是空值,

因此此篇文章通過另外一種方式獲取到核心代號信息。

【驅(qū)動系列】C#獲取電腦硬件之顯卡信息

第三方工具

GPU-Z 是一種常用的免費工具,用于獲取和顯示計算機中顯卡(圖形處理單元,GPU)的詳細信息。它可以提供有關顯卡型號、驅(qū)動版本、顯存大小、傳感器數(shù)據(jù)(如溫度、風扇轉(zhuǎn)速等)以及其他相關硬件信息的實時讀數(shù)。

顯卡信息

GPU-Z 顯示有關顯卡的詳細信息,包括顯卡制造商、型號、顯存類型和大小、時鐘速度等。

傳感器監(jiān)控

它可以讀取和顯示顯卡的各種傳感器數(shù)據(jù),如溫度、負載、風扇速度、功耗等。這些數(shù)據(jù)有助于你了解顯卡的性能和狀態(tài)。

即時讀取和更新

GPU-Z 可以實時讀取硬件信息,并在顯卡或驅(qū)動程序更改時自動更新。

導出和共享

你可以將 GPU-Z 的輸出導出為文本文件,方便與他人共享或保存以供后續(xù)分析。

支持多款顯卡

GPU-Z 可以識別和顯示各種顯卡品牌和型號的信息,包括 NVIDIA、AMD 和 Intel 等生產(chǎn)商的顯卡。

實現(xiàn)代碼

核心代號的獲取可能因顯卡廠商和驅(qū)動程序的不同而有所差異。

以下是一種獲取核心代號的備選方法,它使用了GPU-Z工具的命令行版本:

1.首先,下載并安裝GPU-Z工具的命令行版本(GPU-Z CLI)。你可以從GPU-Z官方網(wǎng)站(https://www.techpowerup.com/gpuz/)上找到該工具,并確保將其路徑添加到系統(tǒng)環(huán)境變量中。

2.在C#代碼中,使用System.Diagnostics.Process類來執(zhí)行GPU-Z命令并捕獲輸出。

using System;
using System.Diagnostics;

class Program
{
    static void Main()
    {
        // 執(zhí)行GPU-Z命令行,并捕獲輸出結(jié)果
        Process process = new Process();
        ProcessStartInfo startInfo = new ProcessStartInfo()
        {
            FileName = "GPU-Z.exe", // GPU-Z命令行的路徑
            Arguments = "-dump=nogpu -txt=gpuz.txt", // 指定輸出格式為文本文件
            RedirectStandardOutput = true,
            UseShellExecute = false,
            CreateNoWindow = true
        };
        
        process.StartInfo = startInfo;
        process.Start();
        process.WaitForExit();

        // 讀取輸出文件中的核心代號
        string outputFilePath = "gpuz.txt"; // 指定輸出文件的路徑
        string[] lines = System.IO.File.ReadAllLines(outputFilePath);
        string coreName = "";

        foreach (string line in lines)
        {
            if (line.StartsWith("GPU"))
            {
                // 核心代號所在行的格式為:GPU: [核心代號]
                coreName = line.Split(':')[1].Trim();
                break;
            }
        }

        Console.WriteLine("核心代號: " + coreName);
    }
}

知識補充

除了上文的方法,小編還為大家整理了C#獲取計算機硬件的參數(shù)信息的相關方法,希望對大家有所幫助

下面是讀取硬件參數(shù)的代碼:

    public class OSInformation
    {
        public string OSName { get; set; }
        public string OSType { get; set; }
        public string OSSerialNumber { get; set; }
        public string ComputerName { get; set; }
        public string LogonUserName { get; set; }
    }
 
    public class HInformaiton
    {
        public string MainboardName { get; set; }
        public string MemorySize { get; set; }
        public string HarddiskSize { get; set; }
        public string VideocardName { get; set; }
        public string SoundcardName { get; set; }
        public string NetworkcardName { get; set; }
        public string ManufacturerName { get; set; }
        public string ManufactureDate { get; set; }
    }
 
    public class SInformation
    {
        public string VRV { get; set; }
        public string QAX { get; set; }
        public string WPS { get; set; }
    }
 
    public class WInformation
    {
        public string IP { get; set; }
        public string Subnetmask { get; set; }
        public string Gateway { get; set; }
    }
 
    class HardwareInformation
    {
        public static string GetJsonStr()
        {
            string ReturnStrJson = "";
            var HInfor = new HInformaiton { MainboardName ="未知", MemorySize = "未知", HarddiskSize = "未知", VideocardName = "未知", SoundcardName = "未知", NetworkcardName = "未知",ManufacturerName= "未知", ManufactureDate= "未知" };
 
            //主板信息
            try {
                ManagementObjectSearcher myMainboard = new ManagementObjectSearcher("SELECT * FROM Win32_BaseBoard");
                foreach (ManagementObject board in myMainboard.Get())
                {
                    HInfor.MainboardName = board["Product"].ToString();
                    //break;
                }
            }
            catch (Exception ex) {
                HInfor.MainboardName = "未知";
            }
 
            //內(nèi)存信息
            try {
                ManagementObjectSearcher myMemory = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMemory");
                //定義內(nèi)存總大小變量
                double MemorySize = 0;
                foreach (ManagementObject obj in myMemory.Get())
                {
                    //將內(nèi)存大小換算成G單位
                    MemorySize += Convert.ToDouble(obj["Capacity"]) / 1024 / 1024 / 1024;
                }
                HInfor.MemorySize = MemorySize.ToString()+"G";
            } catch (ManagementException e) {
                HInfor.MemorySize = "未知";
            }
 
            //硬盤信息
            try {
                //獲取本機所有硬盤信息  
                ManagementObjectSearcher myHarddisk = new ManagementObjectSearcher("select * from Win32_DiskDrive");
                foreach (ManagementObject drive in myHarddisk.Get())
                {
                    //獲取硬盤容量
                    var capacity = (Convert.ToDouble(drive["Size"]) / 1024 / 1024 / 1024).ToString("0.00") + "G";
                    //獲取硬盤類型
                    var mediaType = drive["MediaType"];
                    HInfor.HarddiskSize = capacity.ToString() + "|" + mediaType.ToString();
                }
            }
            catch (Exception ex) {
                HInfor.HarddiskSize = "未知";
            }
 
            //顯卡信息
            try {
                ManagementObjectSearcher myVideoObject = new ManagementObjectSearcher("select * from Win32_VideoController");
                foreach (ManagementObject obj in myVideoObject.Get())
                {
                    HInfor.VideocardName = obj["Name"].ToString();
                }
            } catch (ManagementException e) {
                //e.Message
                HInfor.VideocardName = "未知";
            }
 
            //聲卡信息
            try {
                // 創(chuàng)建WMI搜索對象
                ManagementObjectSearcher mySoundcard = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_SoundDevice");
                // 遍歷搜索結(jié)果
                foreach (ManagementObject mo in mySoundcard.Get())
                {
                    // 獲取聲卡名稱
                    HInfor.SoundcardName = mo.GetPropertyValue("Name").ToString();
                }
            } catch (ManagementException e) {
                HInfor.SoundcardName = "未知";
            }
 
            //網(wǎng)卡信息(Mac地址)
            try {
 
                // 獲取本地網(wǎng)絡接口信息 
                NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
                foreach (NetworkInterface adapter in nics)
                {
                    // 如果是RJ45網(wǎng)卡 
                    if (adapter.NetworkInterfaceType == NetworkInterfaceType.Ethernet)
                    {
                        string S1 = (string)adapter.Description;
                        if (S1.Contains("PCI")){
                            HInfor.NetworkcardName = S1;
                        }
                    }
                }
            }
            catch (ManagementException e) {
                HInfor.NetworkcardName = "未知";
            }
 
            //獲取生產(chǎn)商和生產(chǎn)日期
            try
            {
                //獲取生產(chǎn)商
                ManagementObjectSearcher ManufacturerInfo = new ManagementObjectSearcher("select * from Win32_ComputerSystem");
                foreach (ManagementObject obj in ManufacturerInfo.Get())
                {
                    HInfor.ManufacturerName = obj["Manufacturer"].ToString();
                }
                //獲取生產(chǎn)日期
                ConnectionOptions options = new ConnectionOptions();
                ManagementScope scope = new ManagementScope("\\\\.\\root\\cimv2", options);
                ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_BIOS");
                ManagementObjectSearcher BoisInfo = new ManagementObjectSearcher(scope, query);
                foreach (ManagementObject mo in BoisInfo.Get())
                {
                    string StrManufactureDate = mo["ReleaseDate"].ToString().Substring(0, 8);
                    DateTime DT = DateTime.ParseExact(StrManufactureDate, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
                    HInfor.ManufactureDate = String.Format("{0:d}", DT);
                }
            }
            catch (Exception e) { 
            
            }
 
            ReturnStrJson = JsonSerializer.Serialize(HInfor);
            return ReturnStrJson;
        }
    }

需要添加引用:

using Microsoft.Win32;
using System.Management;
using System.Text.Json;
using System.Net.NetworkInformation;

調(diào)用比較簡單:

            string JsonStr;
            //硬件信息
            JsonStr = HardwareInformation.GetJsonStr();
            var ObjHardware = JsonSerializer.Deserialize<Dictionary<string, object>>(JsonStr);
            ListBox listbox1 = tabControl1.TabPages[0].Controls["listbox1"] as ListBox;
            listbox1.Items.Add("主板:"+ ObjHardware["MainboardName"]);
            listbox1.Items.Add("內(nèi)存:" + ObjHardware["MemorySize"]);
            listbox1.Items.Add("硬盤:" + ObjHardware["HarddiskSize"]);
            listbox1.Items.Add("顯卡:" + ObjHardware["VideocardName"]);
            listbox1.Items.Add("聲卡:" + ObjHardware["SoundcardName"]);
            listbox1.Items.Add("網(wǎng)卡:" + ObjHardware["NetworkcardName"]);
            listbox1.Items.Add("計算機生產(chǎn)商:" + ObjHardware["ManufacturerName"]);
            listbox1.Items.Add("計算機生產(chǎn)日期:" + ObjHardware["ManufactureDate"]);

到此這篇關于C#實現(xiàn)獲取電腦硬件顯卡核心代號信息的文章就介紹到這了,更多相關C#獲取電腦顯卡信息內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 在C#中使用OpenCV(使用OpenCVSharp)的實現(xiàn)

    在C#中使用OpenCV(使用OpenCVSharp)的實現(xiàn)

    這篇文章主要介紹了在C#中使用OpenCV(使用OpenCVSharp)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • C#畫圓角矩形的方法

    C#畫圓角矩形的方法

    這篇文章主要介紹了C#畫圓角矩形的方法,涉及C#繪圖的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-05-05
  • C#實現(xiàn)高效生成Word復雜表格的實戰(zhàn)指南

    C#實現(xiàn)高效生成Word復雜表格的實戰(zhàn)指南

    在現(xiàn)代辦公自動化中,Word?文檔依然是信息呈現(xiàn)和數(shù)據(jù)輸出的重要載體,本文將系統(tǒng)介紹如何使用?Free?Spire.Doc?for?.NET?處理?Word?表格,希望對大家有所幫助
    2025-11-11
  • 使用C#編寫一個Web服務器

    使用C#編寫一個Web服務器

    在.NET世界中,C#是一種功能強大的編程語言,常被用于構建各種類型的應用程序,本文主要為大家介紹了如何使用C#編寫一個簡單的Web服務器,需要的可以參考下
    2024-03-03
  • C#實現(xiàn)標題閃爍效果的示例代碼

    C#實現(xiàn)標題閃爍效果的示例代碼

    在Windows系統(tǒng)中,當程序在后臺運行時,如果某個窗體的提示信息需要用戶瀏覽,該窗體就會不停地閃爍,這樣就會吸引用戶的注意,下面我們就來看看如何使用C#實現(xiàn)這一效果吧
    2024-04-04
  • C#中加鹽(salting)的實現(xiàn)示例

    C#中加鹽(salting)的實現(xiàn)示例

    在密碼存儲和驗證中,加鹽是一種增加密碼安全性的技術,本文主要介紹了C#中加鹽(salting)的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • user32.dll 函數(shù)說明小結(jié)

    user32.dll 函數(shù)說明小結(jié)

    這篇文章主要介紹了user32.dll 函數(shù)說明,需要的朋友可以參考下
    2018-06-06
  • C#實現(xiàn)日歷效果

    C#實現(xiàn)日歷效果

    這篇文章主要為大家詳細介紹了C#實現(xiàn)日歷效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • c# List和Dictionary常用的操作

    c# List和Dictionary常用的操作

    這篇文章主要介紹了c# List和Dictionary常用的操作,幫助大家更好的理解和學習使用c#,感興趣的朋友可以了解下
    2021-04-04
  • c# JSON返回格式的WEB SERVICE

    c# JSON返回格式的WEB SERVICE

    首先用c#創(chuàng)建一個web service,主要是利用其WSDL的功能,當然也可以利用php創(chuàng)建一個,道理都是一樣的
    2008-12-12

最新評論

宁河县| 教育| 固始县| 武宁县| 上蔡县| 比如县| 专栏| 富宁县| 名山县| 文山县| 延长县| 玉田县| 睢宁县| 西宁市| 涪陵区| 阜阳市| 喀什市| 禹州市| 新民市| 长顺县| 鹤峰县| 柘荣县| 阿勒泰市| 峨眉山市| 宁城县| 台湾省| 芜湖县| 许昌市| 乐亭县| 安图县| 邓州市| 赤水市| 泽库县| 尼勒克县| 张家界市| 普陀区| 晋城| 迭部县| 澎湖县| 青浦区| 吴旗县|