首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • cpu序列号???????? [已结贴,结贴人:das521]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • das521
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 揭贴率:
    发表于:2008-08-22 18:00:11 楼主
      string strCpuID = "111";
                try
                {
                    ManagementClass mc = new ManagementClass("Win32_Processor");
                    ManagementObjectCollection moc = mc.GetInstances();

                 
                    foreach (ManagementObject mo in moc)
                    {
                        strCpuID = mo.Properties["ProcessorId"].Value.ToString();
                        break;
                    }
                 
                }
                catch
                {
                 
                }
                this.textBox1.Text = strCpuID;
    网上的代码,不知道为什么在我机器上获取不了cpu序列号?高手指教
    99  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ojlovecd
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 18:10:571楼 得分:0
    获取不了?出什么错?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yilunduyue
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 18:19:072楼 得分:0
    可以啊!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Snowdust
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 18:21:523楼 得分:0
    是不是没有添加对System.Management的引用?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yagebu1983
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 18:28:484楼 得分:0
    引用 1 楼 ojlovecd 的回复:
    获取不了?出什么错?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • das521
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 18:31:495楼 得分:0
    如果不加catch的话,报错是未将对象引用到实例也就是这句代码出错  strCpuID = mo.Properties["ProcessorId"].Value.ToString();
    加了catch以后就不报错了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • das521
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 18:32:016楼 得分:0
    引用 5 楼 das521 的回复:
    如果不加catch的话,报错是未将对象引用到实例也就是这句代码出错  strCpuID = mo.Properties["ProcessorId"].Value.ToString();
    加了catch以后就不报错了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • das521
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 18:32:137楼 得分:0
    引用 6 楼 das521 的回复:
    引用 5 楼 das521 的回复:
    如果不加catch的话,报错是未将对象引用到实例也就是这句代码出错  strCpuID = mo.Properties["ProcessorId"].Value.ToString();
    加了catch以后就不报错了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ojlovecd
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 18:36:038楼 得分:0
    调试一下看看哪个对象为空
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • liuxiuming
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 19:17:169楼 得分:0
    哪位大侠能给个完整代码?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fightyy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 20:04:3510楼 得分:0
    命名空间:System.Management?你们是在vs上调试的吗?为什么没有这个命名空间


    请教并学习...
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cychris
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 20:08:0311楼 得分:14
    System.Management??
    如果加了这个命名空间还错的话,那就郁闷了。
    我上次也是 什么都对。自己机器上就是提示
    ProcessorId 这里 未将对象引用到实例
    但是换个机器 就可以了。
    可郁闷了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wdgphc
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 20:21:0912楼 得分:0
    你得不到序列号的机器CPU是什么的?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • das521
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 20:57:1213楼 得分:0
    我的cpu是Intel 赛扬D
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • das521
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 20:57:5114楼 得分:0
    引用 13 楼 das521 的回复:
    我的cpu是Intel 赛扬D

    补充一点,就是在别人机器上可以
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wdgphc
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-23 09:55:3115楼 得分:10
    ManagementClass mc = new ManagementClass("Win32_Processor");
                    ManagementObjectCollection moc = mc.GetInstances();

    加一句 MessageBox.Show(moc.Count.ToString());
    看看是不是1
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • das521
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-23 16:23:4116楼 得分:0
    各位大哥指教呀,小弟急用,呵呵
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • das521
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-24 08:15:2017楼 得分:0
    引用 15 楼 wdgphc 的回复:
    ManagementClass mc = new ManagementClass("Win32_Processor");
                    ManagementObjectCollection moc = mc.GetInstances();

    加一句 MessageBox.Show(moc.Count.ToString());
    看看是不是1

    这位大哥你好,正如你说的,是一,怎么解决呀
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • aaajedll
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-24 08:37:2518楼 得分:0
    學習
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wdgphc
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-24 10:27:2219楼 得分:15
    C# code
    foreach (ManagementObject mo in moc) { foreach (PropertyData property in mo.Properties) { Console.Write(property.Name + " --- "); try { Console.WriteLine(mo.Properties[property.Name].Value.ToString()); } catch { Console.WriteLine(); } } break; }


    你看看输出有没有这一项,后面有没有数据,好像真的是有的可以有的不可以.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • das521
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-24 14:35:1620楼 得分:0
    引用 19 楼 wdgphc 的回复:
    C# code
    foreach (ManagementObject mo in moc)
                    {
                        foreach (PropertyData property in mo.Properties)
                        {
                            Console.Write(property.Name + " --- ");
                            try
                            {
                                Console.WriteLine(mo.Properties[property.Name].Value.ToString());
                          …

    这为大哥,我试了,可是,什么都没有输出,我的程序是这样
    ManagementObjectSearcher moc = new ManagementObjectSearcher("select * from Win32_baseboard");
                foreach (ManagementObject mo in moc.Get())
                {
                    foreach (PropertyData property in mo.Properties)
                    {
                        Console.Write(property.Name + " --- ");
                        try
                        {
                            Console.WriteLine(mo.Properties[property.Name].Value.ToString());
                        }
                        catch
                        {
                            Console.WriteLine();
                        }
                    }
                    break;
                }有一点变化在第一个foreach语句,
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wdgphc
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-25 08:47:0521楼 得分:40
    你这个程序是检测主板的,我的输出为
    Caption --- 底板
    ConfigOptions ---
    CreationClassName --- Win32_BaseBoard
    Depth ---
    Description --- 底板
    Height ---
    HostingBoard --- True
    HotSwappable ---
    InstallDate ---
    Manufacturer --- ASUSTeK Computer INC.
    Model ---
    Name --- 底板
    OtherIdentifyingInfo ---
    PartNumber ---
    PoweredOn --- True
    Product --- P4P800-X
    Removable ---
    Replaceable ---
    RequirementsDescription ---
    RequiresDaughterBoard ---
    SerialNumber --- MB-1234567890
    SKU ---
    SlotLayout ---
    SpecialRequirements ---
    Status ---
    Tag --- Base Board
    Version --- Rev 1.xx
    Weight ---
    Width ---

    原来的程序是测CPU的,输出为
    AddressWidth --- 32
    Architecture --- 0
    Availability --- 3
    Caption --- x86 Family 15 Model 4 Stepping 1
    ConfigManagerErrorCode ---
    ConfigManagerUserConfig ---
    CpuStatus --- 1
    CreationClassName --- Win32_Processor
    CurrentClockSpeed --- 2399
    CurrentVoltage --- 14
    DataWidth --- 32
    Description --- x86 Family 15 Model 4 Stepping 1
    DeviceID --- CPU0
    ErrorCleared ---
    ErrorDescription ---
    ExtClock --- 133
    Family --- 2
    InstallDate ---
    L2CacheSize --- 0
    L2CacheSpeed ---
    LastErrorCode ---
    Level --- 15
    LoadPercentage --- 10
    Manufacturer --- GenuineIntel
    MaxClockSpeed --- 2399
    Name ---                Intel(R) Celeron(R) CPU 2.40GHz
    NumberOfCores --- 1
    NumberOfLogicalProcessors --- 1
    OtherFamilyDescription ---
    PNPDeviceID ---
    PowerManagementCapabilities ---
    PowerManagementSupported --- False
    ProcessorId --- BFEBFBFF00000F41
    ProcessorType --- 3
    Revision --- 1025
    Role --- CPU
    SocketDesignation --- CPU 1
    Status --- OK
    StatusInfo --- 3
    Stepping --- 1
    SystemCreationClassName --- Win32_ComputerSystem
    SystemName --- SUNXU
    UniqueId ---
    UpgradeMethod --- 15
    Version --- 型号 4,步进 1
    VoltageCaps ---

    输出是在 视图->输出 中查看的. 如果还没有,你看看系统属性中是不是有驱动没有安装正确啊.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • tian_huang
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-26 20:35:0922楼 得分:0
    没有using System.Management引用吧
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • supper168
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-26 21:54:4423楼 得分:20
    C# code
    string strCpuID = "111"; try { ManagementClass mc = new ManagementClass("Win32_Processor"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { strCpuID = mo.Properties["ProcessorId"].Value.ToString(); break; } } catch { } this.textBox1.Text = strCpuID;
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved