头文件
#include "stdafx.h"
using namespace std;
class WindowsInfo
{
public:
void getSystemVersion();
std::wstring getCurrentComputerName();
wchar_t* getWindowsEnvironmentPath();
std::wstring getCurrrentUserName();
};
using namespace std;
实现
#include "stdafx.h"
#include "WinInfo.h"
using namespace std;
void WindowsInfo::getSystemVersion()
{
OSVERSIONINFOEX os;
os.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
bool flag_Version = GetVersionEx((OSVERSIONINFO *)&os);
if (flag_Version == 1)
{
cout << "Windows主版本号:" << os.dwMajorVersion << " 子版本号:" << os.dwMinorVersion<< endl;
}
return;
}
std::wstring WindowsInfo::getCurrentComputerName()
{
const int MAX_BUFFER_LEN = 500;
wchar_t szBuffer[MAX_BUFFER_LEN];
DWORD dwNameLen;
dwNameLen = MAX_BUFFER_LEN;
if (!GetComputerName(szBuffer, &dwNameLen))
{
cout << "获取计算机信息失败!" << endl;
return L"";
}
else
{
std::wstring cur_ComputerName = L"";
cur_ComputerName = szBuffer;
return cur_ComputerName;
}
return L"";
}
wchar_t* WindowsInfo::getWindowsEnvironmentPath()
{
wchar_t szPathEnv[4096] = {0};
::GetEnvironmentVariableW(L"path", szPathEnv, 4096);
return szPathEnv;
}
std::wstring WindowsInfo::getCurrrentUserName()
{
const int MAX_BUFFER_LEN = 500;
wchar_t szBuffer[MAX_BUFFER_LEN];
DWORD dwNameLen;
dwNameLen = MAX_BUFFER_LEN;
::GetUserName(szBuffer, &dwNameLen);
std::wstring cur_UserName = L"";
cur_UserName = szBuffer;
return cur_UserName;
}
int _tmain(int argc, _TCHAR* argv[])
{
WindowsInfo * p_Win = new WindowsInfo();
p_Win->getSystemVersion();
std::wstring computername = p_Win->getCurrentComputerName();
p_Win->getCurrrentUserName();
delete p_Win;
system("pause");
return 0;
}