您的位置:首页 > 编程语言 > C#

C#/C++获取CPU和硬盘系列号的源代码

2005-12-20 10:49 471 查看
前言:随着IT管理的不断成熟,IT资产管理方面逐渐被人们认识和加于应用,比如关注CUP使用率、内存使用率等,作为调配资源和购买新设备的依据;以前是手动查看,现在有HostMonitor等软件产品。如何编写适合自己或企业习惯的产品呢?当然最好是使用WMI(Windows Management Instrumentation )。

本文介绍获取CPU和硬盘系列号的方法大部份源码均来源于网上和MSDN,在2000/XP/2003调试通过。

实现的原理都是采用WMI,故思路和框架相似;虽然只列出CPU和硬盘两种设备,但对其它设备亦适用。更多的参数信息(WQL和设备参数)等可查MSDN。

下述代码已经应用于个人开发的一个软件:针式背单词,可供参考:

a.简介:http://fjwuyongzhi.cnblogs.com/archive/2005/12/19/300126.html

b.下载1:http://files.cnblogs.com/fjwuyongzhi/EnglishWord.rar

下载2:华军http://xz.newhua.com/down/englishword.rar

下面就具体的代码作一说明:[C#/C++/VB6]

1、C#

public string CpuID

public string DiskDrive

#include "StdAfx.h"

#include ".\puiddisk.h"

#define _WIN32_DCOM

#include <iostream>

using namespace std;

#include <comdef.h>

#include <Wbemidl.h>

# pragma comment(lib, "wbemuuid.lib")

CpuIDDisk::CpuIDDisk(void)

CpuIDDisk::~CpuIDDisk(void)

int CpuIDDisk::GetInfomation(void)

3.VB6:要引用Microsoft VMI

Function getDriveSerialsNumer() As String

Dim DriveSerialsNumer$, d As Object, DiskDriveSet As Object

getDriveSerialsNumer = ""

Set DiskDriveSet = GetObject("winmgmts:{impersonationLevel=impersonate}"). _

InstancesOf("Win32_DiskDrive")

For Each d In DiskDriveSet

DriveSerialsNumer$ = d.PNPDeviceID

getDriveSerialsNumer = DriveSerialsNumer$

Exit For

Next

Set d = Nothing

Set DiskDriveSet = Nothing

End Function

网址:http://www.pinstudy.com/ws/eq/Default.aspx

“针式背单词”Web化产品:英语单词查找-返回表格式结果

英语单词查询返回表格式结果,是英语单词学习、研究分析,很好的辅助系统



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: