WindowsAPI使用详解——GetComputerName|GetUserName 获取电脑名称和当前用户名

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;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值