WindowsAPI使用详解——GetComputerName|GetUserName 获取电脑名称和当前用户名 - [VC++编程]
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://flyxxtt.blogbus.com/logs/42725959.html
获取电脑的名称,下面是函数的原:
BOOL GetComputerName(LPWSTR lpBuffer,LPDWORD nSize)
lpBuffer是传入的缓冲区指针
nSize标识传入的缓冲区宽度
需要说明的是有两种方法来确认缓冲区的长度:
1、在WinBase.h中定义了一个电脑名称最大长度的常数MAX_COMPUTERNAME_LENGTH(值为15),使用这个变量来创建缓冲区是安全的,因为电脑名称不会超过这个长度;
2、另一种方法是调用GetComputerName给lpBuffer传入NULL,nSize传入DWORD变量的地址。函数将把电脑实际名称的缓冲区大小返回给nSize。
下面是第二种方法的示例:
wstring getComputerName()
{
DWORD size=0;
wstring wstr;
GetComputerName(NULL,&size); //得到电脑名称长度
wchar_t *name=new wchar_t[size];
if(GetComputerName(name,&size))
{
wstr=name;
}
delete [] name;
return wstr;
}
获取当前用户名:
BOOL GetUserName(LPWSTR lpBuffer,LPDWORD pcbBuffer)
lpBuffer是传入的缓冲区指针
pcbBuffer标识传入的缓冲区宽度
函数的使用方法和上面几乎相同:
wstring getUserName()
{
DWORD size=0;
wstring wstr;
GetUserName(NULL,&size);
wchar_t *name=new wchar_t[size];
if(GetUserName(name,&size))
{
wstr=name;
}
delete [] name;
return wstr;
}
WindowsAPI使用详解——GetComputerName|GetUserName 获取电脑名称和当前用户名
最新推荐文章于 2021-06-16 02:01:36 发布