C++ 获取OEM String

原创 2016年08月29日 22:48:51

工作过程中需要读取机器OEM String信息,读取该信息最简便的方法是采用WMIC。

1.批处理脚步读取

打开DOS命令后窗口,键入wmic computersystem get OEMStringArray,即可读取机器OEM String信息。

2.powershell读取

打开powershell界面,键入(get-wmiobject -class Win32_ComputerSystem).OEMStringArray即可

3.C++读取

在文章利用WMI获取本机信息http://blog.csdn.net/cnuserfdg/article/details/51759694中,当OEMStringArray作为输入参数时,并不能获取到目的字符串,这是由于此时VARIANT变体中存储的返回值为数组。

修改代码如下即可返回目的字符串。

					hr = m_szIWbemObject[i]->Get(pTargetCaption, 0, &var, NULL, NULL);
					if (var.vt != VT_NULL)
					{
						SAFEARRAY *pArr = nullptr;
						BSTR vbStr = nullptr;
						pArr = V_ARRAY(&var);
						if (SafeArrayGetDim(pArr)!=1)
						{
							strRet = var.bstrVal;
						}
						else
						{
							LONG lLeft = 0;
							LONG lRight = 0;
							SafeArrayGetLBound(pArr, 1, &lLeft);
							SafeArrayGetUBound(pArr, 1, &lRight);

							LONG arrayCount = lLeft;
							while (arrayCount<=lRight)
							{
								if (SafeArrayGetElement(pArr,&arrayCount,&vbStr) == S_OK)
								{
									strRet += vbStr;
									strRet += _T(" ");
								}
								arrayCount++;
							}

						}
						if (vbStr!=nullptr)
						{
							SysFreeString(vbStr);
							vbStr = nullptr;
						}
						break;
					}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Carbide.c++_v1.3的oem破解license

  • 2008年07月09日 14:43
  • 3KB
  • 下载

请用c++ 实现stl中的string类,实现构造,拷贝构造,析构,赋值,比较,字符串相加,获取长度及子串等功能

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ...
  • szl_lxy
  • szl_lxy
  • 2015年09月09日 12:19
  • 356

C++ Builder string相互转换

  • 2016年05月08日 07:55
  • 396KB
  • 下载

C++_String

  • 2014年10月04日 21:47
  • 1.65MB
  • 下载

c++中常见的类型转换int,string,float

1、int型与string型的互相转换 最佳实践: int型转string型   [cpp] view plain copy void int2str(const ...

c++ string

  • 2012年05月17日 02:30
  • 12KB
  • 下载

关于C++中string类的查找函数的说明

string类的查找函数: int find(char c, int pos = 0) const;//从pos开始查找字符c在当前字符串的位置 int find(const char *s,...

用好c++中的string类型

  • 2013年03月19日 17:51
  • 47KB
  • 下载

C++字符串类string简析

  • 2011年12月12日 13:55
  • 8KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++ 获取OEM String
举报原因:
原因补充:

(最多只允许输入30个字)