windows下通过注册表来获取计算机相关信息

标签: 注册表 获取计算机信息
4人阅读 评论(0) 收藏 举报
分类:

在开发过程中遇到了不少需要获取计算机信息的需求,首先我们可以通过windows的api来完成一部分的需求,但是还有一部分并不能通过api来完成,那么通过注册表来获取是一个不错的办法

下面给出的是头文件相关信息:

#pragma once
#include <vector>

struct SoftInfo 
{
	//软件名
	CString m_strSoftName;
	//软件版本号
	CString m_strSoftVersion;
	//软件安装目录
	CString m_strInstallLocation;
	//软件发布厂家
	CString m_strPublisher;
	//主程序所在完整路径
	CString m_strMainProPath;
	//卸载exe所在完整路径
	CString m_strUninstallPath;
};

class CSoftInfo
{
public:
	CSoftInfo(void);
	~CSoftInfo(void);

	//获取一个包含常用软件安装信息的vector
	std::vector<SoftInfo> GetSoftInfo(void) const;

	//获取所有已安装常用软件名
	void GetSoftName(std::vector<LPCTSTR> &lpszSoftName);

	//获取已安装常用软件版本号
	void GetSoftVersion(std::vector<LPCTSTR> &lpszSoftVersion);

	//获取所有已安装常用软件安装目录
	void GetInstallLocation(std::vector<LPCTSTR> &lpszInstallLocation);

	//获取所有已安装常用软件发布厂商
	void GetPublisher(std::vector<LPCTSTR> &lpszPublisher);

	//获取所有已安装常用软件主程序所在目录
	void GetMainProPath(std::vector<LPCTSTR> &lpszMainProPath);

	//获取所有已安装常用软件卸载路径
	void GetUninstallPath(std::vector<LPCTSTR> &lpszUninstallPath);

	//获取一个包含系统补丁信息的Vector
	std::vector<SoftInfo> GetSystemPathchesInfo(void) const;
	
	//获取所有已安装系统补丁名
	void GetSystemPatchesName(std::vector<LPCTSTR> &lpszSystemPatchesName);


private:
	// 保存已安装常用软件安装信息
	std::vector<SoftInfo> m_SoftInfoArr;
	// 保存系统补丁信息
	std::vector<SoftInfo> m_SystemPatchesArr;
};
具体实现部分详见实现源码
查看评论

windows系统信息获取 注册表

获取一些不常见的windows信息,可能会有很大的用处对于区分不同客户端运行环境。...
  • III__III
  • III__III
  • 2016-09-05 15:48:52
  • 595

调用Windows接口访问注册表来获取程序安装路径

最近在做一个程序,需要获取Windows中程序的安装路径,在网上查了一下,了解到可以运用调用Windows接口访问注册表的方法。网上有很多这样的文章,但真正自己动手,还是会遇到这样那样的问题,我将自己...
  • lrgdongnan
  • lrgdongnan
  • 2015-12-03 11:34:24
  • 1398

VC 获取Windows已安装软件(注册表方式)

Windows把卸载信息保存在注册表键HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall之下。我们可以枚举这个...
  • hellokandy
  • hellokandy
  • 2017-06-19 11:00:13
  • 693

windows平台下,c++获取cpu型号,读取注册表获取系统软硬件信息代码

GetsysInfo.h:   [cpp] view plaincopy #ifndef _H_GETSYSINFO   #define _H_GE...
  • riverking123
  • riverking123
  • 2015-02-01 16:50:53
  • 1474

从注册表获取所有的串口[Windows]

http://blog.csdn.net/loongee/article/details/4038339 if(::RegOpenKeyEx( HKEY_LOCAL_MACHINE, ...
  • cocoasprite
  • cocoasprite
  • 2016-05-23 11:45:25
  • 1935

通过注册表获取硬件信息

LONG QueryValue( LPTSTR szValue, LPCTSTR lpszValueName, DWORD* pdwCount ) szValue:字符串数据类型的键值 l...
  • zxxSsdsd
  • zxxSsdsd
  • 2013-11-29 17:06:44
  • 2749

windows从注册表获取ip配置信息

DNS的获取方式有多种: 之类提供一种方式是从注册表获取的: 在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameter...
  • thanklife
  • thanklife
  • 2017-07-25 14:08:28
  • 511

获取显卡的信息

  • 2008年01月30日 01:12
  • 236KB
  • 下载

c++读取注册表获得网卡信息

  • 2012年03月21日 11:07
  • 2KB
  • 下载

Java读取注册表的三种方法

近期项目需要使用java读取注册表,所以就认真的研究了一下,现把研究成果与大家分享一下. =======================================================...
  • A8_8A
  • A8_8A
  • 2014-12-07 13:42:39
  • 6873
    个人资料
    持之以恒
    等级:
    访问量: 3043
    积分: 305
    排名: 25万+
    文章分类
    文章存档