亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 編程 > C# > 正文

用C#獲取CPU編號(hào)、硬盤編號(hào)等與系統(tǒng)有關(guān)的環(huán)境屬性

2024-09-07 17:05:10
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文在ASP.NET程序中實(shí)現(xiàn)了獲取CPU編號(hào)、硬盤編號(hào)等與系統(tǒng)有關(guān)環(huán)境屬性,這個(gè)方法也可以移植到其他程序當(dāng)中。

CpuInfo.cs

using System;
using System.Configuration;
using System.Runtime.InteropServices;

/**//**
 * LayoutKind.Automatic:為了提高效率允許運(yùn)行態(tài)對(duì)類型成員重新排序
 * 注意:永遠(yuǎn)不要使用這個(gè)選項(xiàng)來(lái)調(diào)用不受管轄的動(dòng)態(tài)鏈接庫(kù)函數(shù)。
 * LayoutKind.Explicit:對(duì)每個(gè)域按照FieldOffset屬性對(duì)類型成員排序
 * LayoutKind.Sequential:對(duì)出現(xiàn)在受管轄類型定義地方的不受管轄內(nèi)存中的類型成員進(jìn)行排序。
 */
 
/**//// <summary>
/// 定義CPU的信息結(jié)構(gòu)
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public struct CpuInfo
...{
    /**//// <summary>
    /// OEM ID
    /// </summary>
    public uint dwOemId;
    /**//// <summary>
    /// 頁(yè)面大小
    /// </summary>
    public uint dwPageSize;
    public uint lpMinimumApplicationAddress;
    public uint lpMaximumApplicationAddress;
    public uint dwActiveProcessorMask;
    /**//// <summary>
    /// CPU個(gè)數(shù)
    /// </summary>
    public uint dwNumberOfProcessors;
    /**//// <summary>
    /// CPU類型
    /// </summary>
    public uint dwProcessorType;
    public uint dwAllocationGranularity;
    /**//// <summary>
    /// CPU等級(jí)
    /// </summary>
    public uint dwProcessorLevel;
    public uint dwProcessorRevision;
}
MemoryInfo.cs
using System;
using System.Configuration;
using System.Runtime.InteropServices;

/**//**
 * LayoutKind.Automatic:為了提高效率允許運(yùn)行態(tài)對(duì)類型成員重新排序
 * 注意:永遠(yuǎn)不要使用這個(gè)選項(xiàng)來(lái)調(diào)用不受管轄的動(dòng)態(tài)鏈接庫(kù)函數(shù)。
 * LayoutKind.Explicit:對(duì)每個(gè)域按照FieldOffset屬性對(duì)類型成員排序
 * LayoutKind.Sequential:對(duì)出現(xiàn)在受管轄類型定義地方的不受管轄內(nèi)存中的類型成員進(jìn)行排序。
 */
/**//// <summary>
/// 定義內(nèi)存的信息結(jié)構(gòu)
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public struct MemoryInfo
...{
    /**//// <summary>
    ///
    /// </summary>
    public uint dwLength;
    /**//// <summary>
    /// 已經(jīng)使用的內(nèi)存
    /// </summary>
    public uint dwMemoryLoad;
    /**//// <summary>
    /// 總物理內(nèi)存大小
    /// </summary>
    public uint dwTotalPhys;
    /**//// <summary>
    /// 可用物理內(nèi)存大小
    /// </summary>
    public uint dwAvailPhys;
    /**//// <summary>
    /// 交換文件總大小
    /// </summary>
    public uint dwTotalPageFile;
    /**//// <summary>
    /// 可用交換文件大小
    /// </summary>
    public uint dwAvailPageFile;
    /**//// <summary>
    /// 總虛擬內(nèi)存大小
    /// </summary>
    public uint dwTotalVirtual;
    /**//// <summary>
    /// 可用虛擬內(nèi)存大小
    /// </summary>
    public uint dwAvailVirtual;
}
SystemTimeInfo.cs
using System;
using System.Configuration;
using System.Runtime.InteropServices;

/**//**
 * LayoutKind.Automatic:為了提高效率允許運(yùn)行態(tài)對(duì)類型成員重新排序
 * 注意:永遠(yuǎn)不要使用這個(gè)選項(xiàng)來(lái)調(diào)用不受管轄的動(dòng)態(tài)鏈接庫(kù)函數(shù)。
 * LayoutKind.Explicit:對(duì)每個(gè)域按照FieldOffset屬性對(duì)類型成員排序
 * LayoutKind.Sequential:對(duì)出現(xiàn)在受管轄類型定義地方的不受管轄內(nèi)存中的類型成員進(jìn)行排序。
 */
/**//// <summary>
/// 定義系統(tǒng)時(shí)間的信息結(jié)構(gòu)
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public struct SystemTimeInfo
...{
    /**//// <summary>
    /// 年
    /// </summary>
    public ushort wYear;
    /**//// <summary>
    /// 月
    /// </summary>
    public ushort wMonth;
    /**//// <summary>
    /// 星期
    /// </summary>
    public ushort wDayOfWeek;
    /**//// <summary>
    /// 天
    /// </summary>
    public ushort wDay;
    /**//// <summary>
    /// 小時(shí)
    /// </summary>
    public ushort wHour;
    /**//// <summary>
    /// 分鐘
    /// </summary>
    public ushort wMinute;
    /**//// <summary>
    /// 秒
    /// </summary>
    public ushort wSecond;
    /**//// <summary>
    /// 毫秒
    /// </summary>
    public ushort wMilliseconds;
}
另外還定義了一個(gè)調(diào)用類SystemInfo.cs,代碼如下:
using System;
using System.Configuration;
using System.Runtime.InteropServices;
using System.Management;
using System.Text;

/**//// <summary>
/// SystemInfo 的摘要說(shuō)明
/// </summary>
public class SystemInfo
...{
    private const int CHAR_COUNT = 128;
    public SystemInfo()
    ...{
       
    }
    [DllImport("kernel32")]
    private static extern void GetWindowsDirectory(StringBuilder WinDir, int count);

    [DllImport("kernel32")]
    private static extern void GetSystemDirectory(StringBuilder SysDir, int count);

    [DllImport("kernel32")]
    private static extern void GetSystemInfo(ref CpuInfo cpuInfo);

    [DllImport("kernel32")]
    private static extern void GlobalMemoryStatus(ref MemoryInfo memInfo);

    [DllImport("kernel32")]
    private static extern void GetSystemTime(ref SystemTimeInfo sysInfo);

    /**//// <summary>
    /// 查詢CPU編號(hào)
    /// </summary>
    /// <returns></returns>
    public string GetCpuId()
    ...{
        ManagementClass mClass = new ManagementClass("Win32_Processor");
        ManagementObjectCollection moc = mClass.GetInstances();
        string cpuId=null;
        foreach (ManagementObject mo in moc)
        ...{
            cpuId = mo.Properties["ProcessorId"].Value.ToString();
            break;
        }
        return cpuId;
    }

    /**//// <summary>
    /// 查詢硬盤編號(hào)
    /// </summary>
    /// <returns></returns>
    public string GetMainHardDiskId()
    ...{
        ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
        String hardDiskID=null;
        foreach (ManagementObject mo in searcher.Get())
        ...{
            hardDiskID = mo["SerialNumber"].ToString().Trim();
            break;
        }
        return hardDiskID;
    }

    /**//// <summary>
    /// 獲取Windows目錄
    /// </summary>
    /// <returns></returns>
    public string GetWinDirectory()
    ...{
        StringBuilder sBuilder = new StringBuilder(CHAR_COUNT);
        GetWindowsDirectory(sBuilder, CHAR_COUNT);
        return sBuilder.ToString();
    }

    /**//// <summary>
    /// 獲取系統(tǒng)目錄
    /// </summary>
    /// <returns></returns>
    public string GetSysDirectory()
    ...{
        StringBuilder sBuilder = new StringBuilder(CHAR_COUNT);
        GetSystemDirectory(sBuilder, CHAR_COUNT);
        return sBuilder.ToString();
    }

   /**//// <summary>
   /// 獲取CPU信息
   /// </summary>
   /// <returns></returns>
    public CpuInfo GetCpuInfo()
    ...{
        CpuInfo cpuInfo = new CpuInfo();
        GetSystemInfo(ref cpuInfo);
        return cpuInfo;
    }

    /**//// <summary>
    /// 獲取系統(tǒng)內(nèi)存信息
    /// </summary>
    /// <returns></returns>
    public MemoryInfo GetMemoryInfo()
    ...{
        MemoryInfo memoryInfo = new MemoryInfo();
        GlobalMemoryStatus(ref memoryInfo);
        return memoryInfo;
    }

    /**//// <summary>
    /// 獲取系統(tǒng)時(shí)間信息
    /// </summary>
    /// <returns></returns>
    public SystemTimeInfo GetSystemTimeInfo()
    ...{
        SystemTimeInfo systemTimeInfo = new SystemTimeInfo();
        GetSystemTime(ref systemTimeInfo);
        return systemTimeInfo;
    }

    /**//// <summary>
    /// 獲取系統(tǒng)名稱
    /// </summary>
    /// <returns></returns>
    public string GetOperationSystemInName()
    ...{
        OperatingSystem os = System.Environment.OSVersion;
        string osName = "UNKNOWN";
        switch (os.Platform)
        ...{
            case PlatformID.Win32Windows:
                switch (os.Version.Minor)
                ...{
                    case 0: osName = "Windows 95"; break;
                    case 10: osName = "Windows 98"; break;
                    case 90: osName = "Windows ME"; break;
                }
                break;
            case PlatformID.Win32NT:
                switch (os.Version.Major)
                ...{
                    case 3: osName = "Windws NT 3.51"; break;
                    case 4: osName = "Windows NT 4"; break;
                    case 5: if (os.Version.Minor == 0)
                        ...{
                            osName = "Windows 2000";
                        }
                        else if (os.Version.Minor == 1)
                        ...{
                            osName = "Windows XP";
                        }
                        else if (os.Version.Minor == 2)
                        ...{
                            osName = "Windows Server 2003";
                        }
                        break;
                    case 6: osName = "Longhorn"; break;
                }
                break;
        }
        return String.Format("{0},{1}", osName, os.Version.ToString());
    }
}
以下是調(diào)用實(shí)例,為了簡(jiǎn)單,我在一個(gè)aspx頁(yè)面中輸出,不過(guò)這個(gè)程序可以在WinForm中調(diào)用:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Specialized;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Runtime.InteropServices;

public partial class Index : System.Web.UI.Page
...{
    protected void Page_Load(object sender, EventArgs e)
    ...{
        if (!Page.IsPostBack)
        ...{
            SystemInfo systemInfo = new SystemInfo();
             Response.Write("操作系統(tǒng):" + systemInfo.GetOperationSystemInName() + "<br>");
            Response.Write("CPU編號(hào):"+systemInfo.GetCpuId() + "<br>");
            Response.Write("硬盤編號(hào):"+systemInfo.GetMainHardDiskId() + "<br>");
            Response.Write("Windows目錄所在位置:" + systemInfo.GetSysDirectory() + "<br>");
            Response.Write("系統(tǒng)目錄所在位置:" + systemInfo.GetWinDirectory() + "<br>");
            MemoryInfo memoryInfo = systemInfo.GetMemoryInfo();
            CpuInfo cpuInfo = systemInfo.GetCpuInfo();
            Response.Write("dwActiveProcessorMask" + cpuInfo.dwActiveProcessorMask + "<br>");
            Response.Write("dwAllocationGranularity" + cpuInfo.dwAllocationGranularity + "<br>");
            Response.Write("CPU個(gè)數(shù):" + cpuInfo.dwNumberOfProcessors + "<br>");
            Response.Write("OEM ID:" + cpuInfo.dwOemId + "<br>");
            Response.Write("頁(yè)面大小" + cpuInfo.dwPageSize + "<br>");
            Response.Write("CPU等級(jí)" + cpuInfo.dwProcessorLevel + "<br>");
            Response.Write("dwProcessorRevision" + cpuInfo.dwProcessorRevision + "<br>");
            Response.Write("CPU類型" + cpuInfo.dwProcessorType + "<br>");
            Response.Write("lpMaximumApplicationAddress" + cpuInfo.lpMaximumApplicationAddress + "<br>");
            Response.Write("lpMinimumApplicationAddress" + cpuInfo.lpMinimumApplicationAddress + "<br>");
            Response.Write("CPU類型:" + cpuInfo.dwProcessorType + "<br>");
            Response.Write("可用交換文件大?。?quot; + memoryInfo.dwAvailPageFile + "<br>");
            Response.Write("可用物理內(nèi)存大小:" + memoryInfo.dwAvailPhys + "<br>");
            Response.Write("可用虛擬內(nèi)存大小" + memoryInfo.dwAvailVirtual + "<br>");
            Response.Write("操作系統(tǒng)位數(shù):" + memoryInfo.dwLength + "<br>");
            Response.Write("已經(jīng)使用內(nèi)存大?。?quot; + memoryInfo.dwMemoryLoad + "<br>");
            Response.Write("交換文件總大?。?quot; + memoryInfo.dwTotalPageFile + "<br>");
            Response.Write("總物理內(nèi)存大?。?quot; + memoryInfo.dwTotalPhys + "<br>");
            Response.Write("總虛擬內(nèi)存大?。?quot; + memoryInfo.dwTotalVirtual + "<br>");
        }
    }
}
說(shuō)明:前臺(tái)aspx頁(yè)面沒(méi)有任何控件。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
日韩影院在线| 国产精品国产精品88| 欧美国产一区二区在线观看| 国产精品永久在线| 日韩av电影网址| 久久99视频精品| 两个人日本在线观看视频| 欧美在线一级视频| 久久久久久日产精品| 欧美亚洲二区| 欧美精品中文字幕一区| 日本一区二区三区国色天香| 亚洲精品久久7777| 国产精品一线天粉嫩av| 韩国女主播成人在线观看| 99re热视频这里只精品| 国产一区二区三区香蕉| 日本道色综合久久影院| 一本色道久久综合精品竹菊| 视频精品导航| 成人网18免费软件大全| 日本黄色免费在线观看| 日韩精品人妻中文字幕有码| 久久综合狠狠综合久久综青草| 国产精品日韩三级| 这里只有精品66| 欧美xxxx14xxxxx性爽| 精品视频中文字幕| 日韩一区视频在线| 污视频免费在线观看| 动漫av一区二区三区| 欧美男女性生活在线直播观看| 国产精品老女人| 99c视频在线| 91国偷自产一区二区使用方法| 在线观看国产一区二区三区| 在线观看国产一级片| 精品自拍偷拍视频| 三级视频在线观看| 国产亚洲一本大道中文在线| 国产精品综合视频| 国产精品一二三| 亚洲黄色在线免费观看| 免费人成视频在线播放| 亚洲xx在线| 全国精品久久少妇| 免费观看久久av| 在线免费91| 亚洲成人动漫在线| 国产精品99久久久久久白浆小说| 免费精品国产| 2019日本中文字幕| 老司机成人在线| 国产精品精品视频| 亚洲自拍欧美精品| 日韩在线观看免费| 97在线观看视频免费| 国产精品午夜电影| 欧美一区二区女人| 日日爱夜夜操| 日韩不卡免费视频| 无码人妻丰满熟妇区bbbbxxxx| 亚欧洲精品在线视频免费观看| 成人性生交大片免费看视频在线| 一区二区三区视频在线免费观看| 99视频免费在线观看| 国产又猛又黄的视频| 97超碰在线免费观看| 999精品一区| 色视频成人在线观看免| 波多野结衣视频在线看| 老司机av网站| 麻豆一区产品精品蜜桃的特点| 日韩黄色av网站| 欧美视频精品在线观看| 国产成人aa精品一区在线播放| 国产网站免费看| 久久视频在线免费观看| 国产一区二区精品久久91| 日韩黄色在线| 最新日韩在线视频| 污污的网站免费| 日韩av免费| 青青草在线视频免费观看| 亚洲综合精品一区二区| 国产日韩在线精品av| 三年中国国语在线播放免费| 精品人妻互换一区二区三区| 亚洲精品日日夜夜| 国产自产v一区二区三区c| 久久久精品视频在线观看| 欧美日韩在线综合| 成年网站免费观看| 中文字幕免费观看| 在线观看免费一区二区| 亚洲ai欧洲av| 日韩成人影音| 国产亚洲短视频| 又长又粗又大又爽| 亚洲制服国产| 国产日韩欧美综合| 久激情内射婷内射蜜桃| 亚洲一卡二卡在线观看| а天堂中文在线资源| 136福利精品导航| 久久亚洲精品一区二区| 女人抽搐喷水高潮国产精品| 在线中文字幕网站| 国产大学生自拍视频| 黄网站网址视频| 久久午夜老司机| 中文字幕第八页| 网曝91综合精品门事件在线| 日韩一级大片| 日韩精品欧美专区| 99热这里是精品| 午夜天堂在线观看| 男女av一区三区二区色多| 天天综合网入口| 欧美专区在线播放| 男人av在线| 亚洲天堂电影在线观看| 在线观看免费观看在线91| 另类图片亚洲色图| 欧美夫妻性生活视频| 国产999精品久久久| 97在线看免费观看视频在线观看| 久久亚洲精品国产亚洲老地址| 婷婷亚洲一区二区三区| 欧美性xxxxxxxx| 欧美女优在线观看| 国产色婷婷国产综合在线理论片a| 日韩中文字幕免费观看| 日本一二三四高清不卡| 四虎永久免费在线观看| 成人免费毛片糖心| h版电影在线播放视频网站| 日韩国产小视频| 国产精品免费看久久久无码| 亚洲免费精品视频| 日本福利片高清在线观看| 欧美久久久久久久久久久久久| 日韩一区视频在线| 久久黄色网页| 国产乱视频在线观看| 亚洲精品在线观看www| 一本之道久久| 91麻豆精品秘密入口| 久久青青视频| 大陆av在线播放| 欧美三级小说| 久久理论片午夜琪琪电影网| 亚洲熟女乱综合一区二区三区| 一本色道久久综合狠狠躁的推荐| 免费看日韩毛片| 国产精品白丝jk白祙喷水网站| 成人无遮挡免费网站视频在线观看| 2014亚洲片线观看视频免费| 丰满亚洲少妇av| 高清国产午夜精品久久久久久| 天天插天天色| 中文子幕无线码一区tr| 国产日韩亚洲欧美| 午夜精品一二三区| 国产一级片一区二区| 欧美视频一区二区三区…| 人禽交欧美网站免费| 青春娱乐分类视频精品2动漫| 日韩激情久久| 日韩一级免费毛片| 四虎影院免费在线| 欧日韩精品视频| 亚洲黄色网址| 久久久久久香蕉| 黄色一级片黄色| 欧美极品少妇xxxxⅹ免费视频| 成人精品一区二区三区| 黄片毛片在线看| 一级特黄aa大片| 久久久久久久久久久久91| 最新亚洲人成网站在线观看| 日本中文字幕在线2020| 一女三黑人理论片在线| 综合伊思人在钱三区| 制服丝袜中文字幕在线观看| 亚洲免费伊人电影| а天堂中文最新一区二区三区| 成人xxxxx| 青青操夜夜操| 97视频在线免费观看| 欧美精品在线极品| 欧美成熟毛茸茸复古| 欧美日韩激情一区二区三区| 国产裸体写真av一区二区| av免费在线播放| 精品久久久久久中文字幕2017| 图片小说视频色综合| 日韩av电影免费观看高清| www.射射射| 免费观看成人性生生活片| 99视频热这里只有精品免费| 在线午夜精品自拍| 91黄页在线观看| 亚洲国产精品无码观看久久| 欧美乱大交xxxxx另类电影| 全国男人的天堂天堂网| 亚洲视频一区| 欧美成人一二区| 国产aⅴ夜夜欢一区二区三区| 五月婷婷六月色| 成人午夜视频免费观看| 日本高清不卡一区二区三区视频| 日韩欧美亚洲范冰冰与中字| 国外成人在线视频网站| 伊人久久亚洲美女图片| 尤物视频在线观看| 欧美孕妇性xx| 91福利社在线观看| 久久久久亚洲AV成人网人人小说| 99久久人妻无码中文字幕系列| 最新国产麻豆精品| 亚洲天堂偷拍| 亚洲影院污污.| 国产精品美女一区二区三区| 日韩免费毛片| 婷婷久久伊人| 五月天国产一区| 97精品国产97久久久久久粉红| 99久久免费国产精品| 欧美精品啪啪| 婷婷伊人综合中文字幕| 高清免费电影在线观看| 国产精品黄色影片导航在线观看| 日韩成人中文电影| 91在线观看入口| 日韩欧美少妇| 国产成人精品优优av| 国产欧美日韩另类视频免费观看| 欧美6699在线视频免费| 一道本在线观看视频| gogogo高清免费观看在线视频| 国产一级不卡视频| 一二三四区在线| 国产日韩欧美麻豆| 91精品国产色综合久久不8| 久久久久久久久久久人体| 国产精品扒开做爽爽爽的视频| 国产乱码精品一区二区三区忘忧草| 成人网在线观看| 久久国产成人| 亚洲成人精品久久| 亚洲男人天堂视频| 亚洲AV成人无码网站天堂久久| 国产精品a久久久久久| 美女精品网站| 成人黄动漫网站| 国产乱子伦视频一区二区三区| 国产成人精品久久二区二区| 国精产品一区一区三区mba桃花| 韩国三级在线观看久| 97久久人人超碰caoprom| 日韩欧美激情电影| 成人性生交大片| 国产日韩精品综合网站| 92看片淫黄大片欧美看国产片| 日韩国产小视频| 北条麻妃一区二区三区在线| 国产91精品在线观看| 日韩片电影在线免费观看| 日本精品视频一区二区三区| 一起操在线视频| 欧美黄色片免费观看| 欧美日产一区二区三区在线观看| 性猛交╳xxx乱大交| 久久精品亚洲成在人线av网址| 中文字幕在线观看网站| 国产精品第一页在线| 制服丝袜在线91| 亚洲国产日韩欧美一区二区三区| 毛片aaaaaa| 亚洲最大色综合成人av| 亚洲欧美一区在线| 香蕉乱码成人久久天堂爱免费| 黑人另类精品××××性爽| 日韩精品在线免费观看视频| 国产性做久久久久久| 国产三级三级在线观看| 99re在线视频播放| 精品人体无码一区二区三区| а√天堂8资源中文在线| 欧美视频三区| 视频在线观看免费影院欧美meiju| 国内精品伊人久久久久av影院| 小舞被吸乳羞羞网站视频| 激情国产一区二区| 先锋影音久久久| 国产精品外国| 91牛牛免费视频| 完整版免费av片| 日韩综合视频在线观看| 蜜臀久久99精品久久久画质超高清| julia中文字幕一区二区99在线| 成人午夜大片免费观看| 欧美2区3区4区| 日韩理论电影| 波多野结衣加勒比| 国产精品无码专区在线观看| 黄色av免费| 国产一级二级三级在线观看| 口述被爽到呻吟高潮自述| 婷婷av一区二区三区| 99精品视频在线播放观看| 欧洲亚洲两性| 国内一区二区三区精品视频| 中文字幕av一区二区三区四区| 国产免费无码一区二区| 91在线|亚洲| 一个人在线观看免费视频www| 欧美黄色免费在线观看| 亚洲午夜久久久久久久久| 欧美性猛片aaaaaaa做受| 99热99re6国产在线播放| 中文字幕一区二区在线观看视频| 亚洲成年电人电影网站| 免费高清视频精品| 欧美一级日韩一级| 亚洲精品视频区| 熟妇高潮一区二区高潮|