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

C#實現(xiàn)獲取計算機信息的示例代碼

 更新時間:2024年01月31日 09:23:03   作者:lingxiao16888  
這篇文章主要為大家詳細(xì)介紹了C#實現(xiàn)獲取計算機軟硬件信息的相關(guān)知識,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,有需要的小伙伴可以參考下

一、本機信息

1、本機名

 public static string getLocalhostName(){
    return Environment.GetEnvironmentVariable("COMPUTERNAME");
 }

2、獲得本機MAC地址

public static string getLocalhostMac() {
    string mac = null;
    ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration");
    ManagementObjectCollection queryCollection = query.Get();
    foreach (ManagementObject mo in queryCollection) {
        if (mo["IPEnabled"].ToString() == "True")
        mac = mo["MacAddress"].ToString();
    }
    return (mac);
}

3、獲得計算機名

public static string getComputerName() {
    return Environment.MachineName;
}

4、顯示器分辨率

public static string getResolution() {
    return SystemInformation.PrimaryMonitorMaximizedWindowSize.Width + " x " + SystemInformation.PrimaryMonitorMaximizedWindowSize.Height;
}

5、主顯示器分辨率

public static string getMainResolution() {
    return SystemInformation.PrimaryMonitorSize.Width + " x " + SystemInformation.PrimaryMonitorSize.Height;
}

6、系統(tǒng)路徑

[DllImport("kernel32")]
public static extern void GetSystemDirectory(StringBuilder SysDir, int count);
 
public static string getSystemPath() {
    const int nChars = 128;
    StringBuilder Buff = new StringBuilder(nChars);
    GetSystemDirectory(Buff, nChars);
    return Buff.ToString();
}

二、操作系統(tǒng)信息

1、操作系統(tǒng)類型

public static string getSystemType() {
    string st = "";
    ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
    ManagementObjectCollection moc = mc.GetInstances();
    foreach (ManagementObject mo in moc) {
        st = mo["SystemType"].ToString();
    }
    return st;
}

2、獲得操作系統(tǒng)位數(shù)

public static string getOSBit() {
    if (Environment.Is64BitOperatingSystem) {
        return "64bit."
    } else {
        return  "32bit.";
    }
}

3、獲得操作系統(tǒng)版本

public static string getOSVersion()  {
    return Environment.OSVersion.VersionString;
}

三、處理器信息

1 、處理器個數(shù)

public static string getProcessorCount()  {
    return Environment.ProcessorCount.ToString();
}

四、CPU信息

1、CPU的個數(shù)

public static int getCpuCount() {
    try {
        using (ManagementClass mCpu = new ManagementClass("Win32_Processor")) {
            ManagementObjectCollection cpus = mCpu.GetInstances();
            return cpus.Count;
        }
    } catch { }
    return -1;
}

2、CPU版本信息

public static string getCpuVersion() {
    string st = "";
    ManagementObjectSearcher mos = new ManagementObjectSearcher("Select * from Win32_Processor");
    foreach (ManagementObject mo in mos.Get()) {
        st = mo["Version"].ToString();
    }
    return st;
}

3、CPU名稱信息

public static string getCpuName() {
    string st = "";
    ManagementObjectSearcher driveID = new ManagementObjectSearcher("Select * from Win32_Processor");
    foreach (ManagementObject mo in driveID.Get()) {
        st = mo["Name"].ToString();
    }
    return st;
}

4、CPU序列號

public static string getCpuSerialNumber() {
    string strCpu = null;
    ManagementClass myCpu = new ManagementClass("win32_Processor");
    ManagementObjectCollection myCpuConnection = myCpu.GetInstances();
    foreach (ManagementObject myObject in myCpuConnection) {
        strCpu = myObject.Properties["Processorid"].Value.ToString();
        break;
    }
    return strCpu;
}

5、CPU制造廠商

public static string getCPUManufacturer() {
    string st = "";
    ManagementObjectSearcher mos = new ManagementObjectSearcher("Select * from Win32_Processor");
    foreach (ManagementObject mo in mos.Get()) {
        st = mo["Manufacturer"].ToString();
    }
    return st;
}

6、CPU頻率

這里之所以使用string類型的數(shù)組,主要是因為cpu的多核

public static string[] getCpuMHZ() {
    ManagementClass mc = new ManagementClass("Win32_Processor");
    ManagementObjectCollection cpus = mc.GetInstances(); 
    string[] mHz = new string[cpus.Count];
    int c = 0;
    ManagementObjectSearcher mySearch = new ManagementObjectSearcher("select * from Win32_Processor");
    foreach (ManagementObject mo in mySearch.Get()) {
        mHz[c] = mo.Properties["CurrentClockSpeed"].Value.ToString();
        c++;
    }
    mc.Dispose();
    mySearch.Dispose();
    return mHz;
}

五、顯卡信息

1、顯卡PNPDeviceID

public static string getVideoPNPID() {
    string st = "";
    ManagementObjectSearcher mos = new ManagementObjectSearcher("Select * from Win32_VideoController");
    foreach (ManagementObject mo in mos.Get()) {
        st = mo["PNPDeviceID"].ToString();
    }
    return st;
}

六、硬盤信息

1、設(shè)備硬盤的卷標(biāo)號

public static string getDiskVolumeSerialNumber() {
    ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
    ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");
    disk.Get();
    return disk.GetPropertyValue("VolumeSerialNumber").ToString();
}

2、硬盤的大小

public static string getSizeOfDisk() {
    ManagementClass mc = new ManagementClass("Win32_DiskDrive");
    ManagementObjectCollection moj = mc.GetInstances();
    foreach (ManagementObject m in moj) {
        return m.Properties["Size"].Value.ToString();
    }
    return "-1";
}

3、硬盤序列號

public static string getHardDiskSerialNumber() {
    try {
        ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
        string sHardDiskSerialNumber = "";
        foreach (ManagementObject mo in searcher.Get()) {
            sHardDiskSerialNumber = mo["SerialNumber"].ToString().Trim();
            break;
        }
        return sHardDiskSerialNumber;
    }
    catch {
        return "";
    }
}

七、主板信息

1、主板序列號

public static string getBIOSSerialNumber() {
    try {
        ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_BIOS");
        string sBIOSSerialNumber = "";
        foreach (ManagementObject mo in searcher.Get()) {
            sBIOSSerialNumber = mo["SerialNumber"].ToString().Trim();
        }
        return sBIOSSerialNumber;
    }
    catch {
        return "";
    }
}

2、主板制造廠商

public static string getBoardManufacturer() {
    SelectQuery query = new SelectQuery("Select * from Win32_BaseBoard");
    ManagementObjectSearcher mos = new ManagementObjectSearcher(query);
    ManagementObjectCollection.ManagementObjectEnumerator data = mos.Get().GetEnumerator();
    data.MoveNext();
    ManagementBaseObject board = data.Current;
    return board.GetPropertyValue("Manufacturer").ToString();
}

3、主板編號

public static string getBoardID() {
    string st = "";
    ManagementObjectSearcher mos = new ManagementObjectSearcher("Select * from Win32_BaseBoard");
    foreach (ManagementObject mo in mos.Get()) {
        st = mo["SerialNumber"].ToString();
    }
    return st;
}

4、主板型號

public static string getBoardType() {
    string st = "";
    ManagementObjectSearcher mos = new ManagementObjectSearcher("Select * from Win32_BaseBoard");
    foreach (ManagementObject mo in mos.Get()) {
        st = mo["Product"].ToString();
    }
    return st;
}

八、內(nèi)存信息

1、物理內(nèi)存大小

public static string getPhysicalMemory() {
    string st = "";
    ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
    ManagementObjectCollection moc = mc.GetInstances();
    foreach (ManagementObject mo in moc) {
        st = mo["TotalPhysicalMemory"].ToString();
    }
    return st;
}

2、內(nèi)存利用率

[DllImport("kernel32")]
private static extern void GlobalMemoryStatus(ref StorageInfo memibfo);
 
[StructLayout(LayoutKind.Sequential)]
public struct StorageInfo //此處全是以字節(jié)為單位 {
    public uint dwMemoryLoad;//內(nèi)存使用率
}
 
public static string getUtilizationRate() {
    StorageInfo memInfor = new StorageInfo();
    GlobalMemoryStatus(ref memInfor);
    return memInfor.dwMemoryLoad.ToString("0.0");
}

九、網(wǎng)卡信息

1、網(wǎng)卡硬件地址

public static string getMacAddress() {
    string mac = "";
    ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
    ManagementObjectCollection moc = mc.GetInstances();
    foreach (ManagementObject mo in moc) {
        if ((bool)mo["IPEnabled"] == true) {
            mac = mo["MacAddress"].ToString();
            break;
        }
    }
    return mac;
}

2、網(wǎng)卡地址

public static string getNetCardMACAddress() {
    try {
        ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapter WHERE ((MACAddress Is Not NULL) AND (Manufacturer <> 'Microsoft'))");
        string NetCardMACAddress = "";
        foreach (ManagementObject mo in searcher.Get()) {
            NetCardMACAddress = mo["MACAddress"].ToString().Trim();
        }
        return NetCardMACAddress;
    }
    catch {
        return "";
    }
}

3、適配器信息

public static NetworkInterface[] getNetWorkInfo() {
    NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
    return adapters;
}
// 設(shè)置內(nèi)容向文本框
public void setContent() {
    tb_net_work_adapter_num.Text = adapters.Length.ToString();
    int index = 0;
    foreach (NetworkInterface adapter in adapters) {
        index++;
        //顯示網(wǎng)絡(luò)適配器描述信息、名稱、類型、速度、MAC 地址
        tb_net_wark_adapter_info.Text = tb_net_wark_adapter_info.Text + ("---------------------第" + index + "個適配器信息---------------------") + "\n";
        tb_net_wark_adapter_info.Text = tb_net_wark_adapter_info.Text + ("描述信息:" + adapter.Name) + "\n";
        tb_net_wark_adapter_info.Text = tb_net_wark_adapter_info.Text + ("類型:" + adapter.NetworkInterfaceType) + "\n";
        tb_net_wark_adapter_info.Text = tb_net_wark_adapter_info.Text + ("速度:" + adapter.Speed / 1000 / 1000 + "MB") + "\n";
        tb_net_wark_adapter_info.Text = tb_net_wark_adapter_info.Text + ("MAC 地址:" + adapter.GetPhysicalAddress()) + "\n";
        //獲取IPInterfaceProperties實例
        IPInterfaceProperties adapterProperties = adapter.GetIPProperties();
        //獲取并顯示DNS服務(wù)器IP地址信息
        IPAddressCollection dnsServers = adapterProperties.DnsAddresses;
        if (dnsServers.Count > 0) {
            foreach (IPAddress dns in dnsServers) {
                tb_net_wark_adapter_info.Text = tb_net_wark_adapter_info.Text + ("DNS 服務(wù)器IP地址:" + dns + "\n");
            }
        } else {
            tb_net_wark_adapter_info.Text = tb_net_wark_adapter_info.Text + ("DNS 服務(wù)器IP地址:" + "\n");
        }
    }
}

結(jié)果樣例

---------------------第1個適配器信息---------------------
描述信息:以太網(wǎng)
類型:Ethernet
速度:0MB
MAC 地址:9883892C3E84
DNS 服務(wù)器IP地址:192.168.0.0
---------------------第2個適配器信息---------------------
描述信息:VirtualBox Host-Only Network #3
類型:Ethernet
速度:1000MB
MAC 地址:0A002700000B
DNS 服務(wù)器IP地址:fec0:0:0:ffff::1%1
DNS 服務(wù)器IP地址:fec0:0:0:ffff::2%1
DNS 服務(wù)器IP地址:fec0:0:0:ffff::3%1

十、聲卡信息

1、聲卡PNPDeviceID

public static string getSoundPNPID() {
    string st = "";
    ManagementObjectSearcher mos = new ManagementObjectSearcher("Select * from Win32_SoundDevice");
    foreach (ManagementObject mo in mos.Get()) {
        st = mo["PNPDeviceID"].ToString();
    }
    return st;
}

十一、其他信息

1、鼠標(biāo)按鈕個數(shù)

public static string getMouseButtons()  {
    return SystemInformation.MouseButtons.ToString();
}

十二、網(wǎng)絡(luò)信息

1、網(wǎng)絡(luò)連接

public static string getIsHasNet() {
    if (SystemInformation.Network) {
        return  "網(wǎng)絡(luò)連接:已連接";
    } else {
        return "網(wǎng)絡(luò)連接:未連接";
    }
}

2、IP地址

public static string getIP() {
    try {
		string st = "";
		ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
		ManagementObjectCollection moc = mc.GetInstances();
		foreach (ManagementObject mo in moc) {
			if ((bool)mo["IPEnabled"] == true) {
				System.Array ar;
				ar = (System.Array)(mo.Properties["IpAddress"].Value);
				st = ar.GetValue(0).ToString();
				break;
			}
		}
		moc = null;
		mc = null;
		return st;
    } catch {
		return "unknow";
    }
}

以上就是C#實現(xiàn)獲取計算機信息的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于C#獲取計算機信息的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C#使用yield關(guān)鍵字構(gòu)建迭代器詳解

    C#使用yield關(guān)鍵字構(gòu)建迭代器詳解

    這篇文章主要為大家詳細(xì)介紹了C#使用yield關(guān)鍵字構(gòu)建迭代器的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • c#多線程之線程基礎(chǔ)

    c#多線程之線程基礎(chǔ)

    本文詳細(xì)講解了c#多線程之線程基礎(chǔ),文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • C# 7.2中結(jié)構(gòu)體性能問題的解決方案

    C# 7.2中結(jié)構(gòu)體性能問題的解決方案

    這篇文章主要給大家介紹了關(guān)于C# 7.2中結(jié)構(gòu)體性能問題的解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • C#實現(xiàn)獲取MAC地址的方法

    C#實現(xiàn)獲取MAC地址的方法

    這篇文章主要介紹了C#實現(xiàn)獲取MAC地址的方法,很實用的功能,需要的朋友可以參考下
    2014-08-08
  • C#中的小數(shù)和百分?jǐn)?shù)計算與byte數(shù)組操作

    C#中的小數(shù)和百分?jǐn)?shù)計算與byte數(shù)組操作

    這篇文章介紹了C#中的小數(shù)和百分?jǐn)?shù)計算與byte數(shù)組操作,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04
  • Unity3D使用Shader實現(xiàn)腐蝕消失

    Unity3D使用Shader實現(xiàn)腐蝕消失

    這篇文章主要為大家詳細(xì)介紹了Unity3D使用Shader實現(xiàn)腐蝕消失,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • 利用WPF實現(xiàn)系統(tǒng)資源監(jiān)控的完整代碼

    利用WPF實現(xiàn)系統(tǒng)資源監(jiān)控的完整代碼

    在現(xiàn)代軟件開發(fā)中,系統(tǒng)資源監(jiān)控是系統(tǒng)管理、性能分析和故障診斷的重要工具,WPF是構(gòu)建現(xiàn)代化、美觀實用的系統(tǒng)監(jiān)控應(yīng)用的理想選擇,本文將詳細(xì)介紹如何使用WPF創(chuàng)建一個功能全面的系統(tǒng)資源監(jiān)控儀表盤,需要的朋友可以參考下
    2026-01-01
  • C# Nullable的使用小結(jié)

    C# Nullable的使用小結(jié)

    本文主要介紹了C# Nullable的使用小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • C# mysql 插入數(shù)據(jù),中文亂碼的解決方法

    C# mysql 插入數(shù)據(jù),中文亂碼的解決方法

    用C#操作mysql時, 插入數(shù)據(jù)中文都是亂碼,只顯示問號,數(shù)據(jù)庫本身使用的是utf-8字符
    2013-10-10
  • C#實現(xiàn)Ping的方法小結(jié)

    C#實現(xiàn)Ping的方法小結(jié)

    這篇文章主要介紹了C#實現(xiàn)Ping的方法,以兩個實例形式形式較為詳細(xì)的分析了C#實現(xiàn)ping功能的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08

最新評論

双流县| 石家庄市| 麻城市| 聂荣县| 涟源市| 邵阳县| 庆云县| 永善县| 芦山县| 兰西县| 宝清县| 天水市| 丹寨县| 长武县| 慈利县| 黎城县| 连州市| 咸丰县| 苏尼特右旗| 中江县| 石狮市| 阿瓦提县| 同德县| 日喀则市| 光山县| 新营市| 孝昌县| 理塘县| 台湾省| 宁化县| 怀集县| 抚宁县| 神池县| 淮南市| 上思县| 望谟县| 宁城县| 石渠县| 仁寿县| 潜江市| 寿光市|