`
oju887jn
  • 浏览: 12497 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

VC6应用WMI获取系统信息

 
阅读更多

VC6应用WMI获取系统信息
2011年05月02日
  花费两天左右时间,总算可以在VC6下使用WMI技术了,现将遇到的问题及解决方法记录一下。
  起因是为了获取系统的硬件信息,经查阅可以使用WMI技术来实现,于CodeProject网站上下载了vc6使用WMI的示例程序,结果发现编译不成功。
  出错信息如下: fatal error C1083: Cannot open include file: 'wbemidl.h': No such file or directory 即"wbemidl.h"头文件未找到,于是乎跑到C:\下搜索该文件,发现有两处存在:
  C:\Program Files\Microsoft SDKs\Windows\v5.0\Include\WbemIdl.h
  C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\WbemIdl.h
  让我惊异的发现存在"Microsoft SDKs"这样一个目录,通过目录中文件的时间信息判断,应该是安装VS2008时附带的。试图在VC6的Options -> Directories中添加头文件和Lib库的路径,但是仍然未能成功编译。
  查找资料发现,普遍认为不能再VC6中使用VS2008中附带的SDK,微软对VC6支持的最新的SDK版本为"PlatformSDK_2003_February", 并有下载页面:http://www.microsoft.com/msdownload/platformsdk/sd kupdate/psdk-full.htm,然而此页面已经不能正常打开了,点击时只能转到微软的下载中心首页。
  无奈之下在微软的下载中心查找PlatformSDK的下载信息,可以找到"Windows?? Server 2003 R2 Platform SDK"的下载,看到说明中提到了支持XP,便开始下载,但是没有看到说对VC6的支持。
  400多M的文件,下载速度还不给力,期间继续在网上搜寻,神奇的在微软社区找到了一篇帖子,帖中有人给出了"PlatformSDK_2003_February"的下载地址,引用如下: Here are the direct links to the Febuary 2003 SDK (build 5.2.3790.0): http://download.microsoft.com/download/platformsdk /sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.1 .cab http://download.microsoft.com/download/platformsdk /sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.2 .cab http://download.microsoft.com/download/platformsdk /sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.3 .cab http://download.microsoft.com/download/platformsdk /sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.4 .cab http://download.microsoft.com/download/platformsdk /sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.5 .cab http://download.microsoft.com/download/platformsdk /sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.6 .cab http://download.microsoft.com/download/platformsdk /sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.7 .cab http://download.microsoft.com/download/platformsdk /sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.8 .cab http://download.microsoft.com/download/platformsdk /sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.9 .cab http://download.microsoft.com/download/platformsdk /sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.1 0.cab http://download.microsoft.com/download/platformsdk /sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.1 1.cab http://download.microsoft.com/download/platformsdk /sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.1 2.cab http://download.microsoft.com/download/platformsdk /sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.1 3.cab http://download.microsoft.com/download/platformsdk /sdk/update/win98mexp/en-us/3790.0/FULL/PSDK-FULL.b at http://download.microsoft.com/download/platformsdk /sdk/update/win98mexp/en-us/3790.0/FULL/Extract.exe You must download all files in the same directory. To extract the SDK on your HDD you must use the batch file. After extracting the SDK you can install it from your extraction directory. You can also burn it on a CD or DVD.   如获至宝,立即暂停了原有下载,开始下载这个版本。期间在网上看到有人使用VC6结合"Windows?? Server 2003 R2 Platform SDK"进行开发工作,但也是提出了一些疑问,不能确定可靠性,本人也就放弃了此项尝试。
  经过若干时间,终于完成下载,按照下载地址框中附带的安装说明,完成解压缩操作。安装时图省时,仅安装了WMI SDK,当然安装程序自动安装了相关依赖文件。
  安装完成后,在VC的Options -> Directories页面中添加相关搜索路径,再次进行编译,结果再次报错,报错信息如下: error C2065: 'CoInitializeSecurity' : undeclared identifier error C2065: 'EOAC_NONE' : undeclared identifier 这次应该不能是SDK的问题了,到SDK的Include目录安装路径"C:\Program Files\Microsoft SDK\include"中,搜索文本"CoInitializeSecurity",发现其定义在"OBJBASE.H"文件中,且使用一个预编译宏控制: #if (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) 在StdAfx.h中所有引用头文件语句之上,添加了一行定义: #define _WIN32_DCOM  Rebuild All,成功! 部分参考文章:
  1、Getting Information from WMI in Visual C++ http://www.codeproject.com/KB/system/Using_WMI_in_ Visual_C__.aspx 2、Microsoft Platform SDK - February 2003,用VC6的不能不知道的事件 3、【收藏】通过 WMI 获取系统信息 4、where download sdk server 2003 february edition ? http://social.msdn.microsoft.com/Forums/zh-CN/wind owssdk/thread/83205c43-ef46-447d-ae54-92bbeb543c38 btw: if this helps you, please let me know, thank you.
分享到:
评论

相关推荐

    vc++ 应用源码包_6

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

    vc++ 应用源码包_1

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

    vc++ 应用源码包_2

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

    vc++ 应用源码包_3

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

    vc++ 应用源码包_5

    内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...

    java调用打印机打印的相关教程

    所以,在以前用Java/Applet/JSP/Servlet设计的程序中,较复杂的打印都是通过调用ActiveX/OCX控件或者VB/VC程序来实现的,非常麻烦。实际上,SUN公司也一直致力于Java打印功能的完善,而Java2平台则终于有了一个健壮...

    vc++ 开发实例源码包

    ----------VC应用开发 [Visual.C..编程技巧精选500例]源代码. 内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件...

    Ladon5.8大型网络渗透扫描器&源码

    5.7版本内置40个功能模块,通过多种协议以及方法快速获取目标网络存活主机IP、计算机名、工作组、共享资源、网卡地址、操作系统版本、网站、子域名、中间件、开放服务、路由器、数据库等信息,漏洞检测包含MS17010、...

    asp.net知识库

    在Asp.net中如何用SQLDMO来获取SQL Server中的对象信息 使用Relations建立表之间的关系并却使用PagedDataSource类对DataList进行分页 通过作业,定时同步两个数据库 SQLSERVER高级注入技巧 利用反射实现ASP.NET控件和...

    网络驱动程序设计指南

    第五章 获取和设置WMI的微端口信息及NDIS支持 89 5.1 NDIS管理信息和OID 89 5.2 查询微端口信息 89 5.2.1 无连接微端口的查询 90 5.2.2 面向连接微端口的查询 91 5.3 设置微端口信息 92 5.3.1 为无连接微端口设置...

    硬件检测、温度检测软件-易语言

    调用了很多开发包,例如winring0、ADLSDK之类,用于获取ring0权限、温度信息之类。部分模块不是我自己写的,在模块信息里已标注原作者。。 就用了一个不开源的模块,用于取win7 64位系统的CPU占用率,但是怎么检查...

    win2000驱动程序设计指南

    获取和设置WMI的微端口信息及NDIS支持 89 5.1 NDIS管理信息和OID 89 5.2 查询微端口信息 89 5.2.1 无连接微端口的查询 90 5.2.2 面向连接微端口的查询 91 5.3 设置微端口信息 92 5.3.1 为无连接微...

Global site tag (gtag.js) - Google Analytics