<span>获取电脑的名称,下面是函数的原:
BOOL GetComputerName(LPWSTR lpBuffer,LPDWORD nSize)
lpBuffer是传入的缓冲区指针
nSize标识传入的缓冲区宽度
需要说明的是有两种方法来确认缓冲区的长度:
</span>
<span>1</span>
<span>、在WinBase.h中定义了一个电脑名称最大长度的常数MAX_COMPUTERNAME_LENGTH(值为15),使用这个变量来创建缓冲区是安全的,因为电脑名称不会超过这个长度;
</span>
<span>2</span>
<span>、另一种方法是调用GetComputerName给lpBuffer传入NULL,nSize传入DWORD变量的地址。函数将把电脑实际名称的缓冲区大小返回给nSize。
下面是第二种方法的示例:
wstring getComputerName()
{
DWORD size</span>=<span>0</span><span>;
wstring wstr;
GetComputerName(NULL,</span>&size); <span>//</span><span>得到电脑名称长度</span>
wchar_t *name=<span>new</span><span> wchar_t[size];
</span><span>if</span>(GetComputerName(name,&<span>size))
{
wstr</span>=<span>name;
}
delete [] name;
</span><span>return</span><span> wstr;
}
获取当前用户名:
BOOL GetUserName(LPWSTR lpBuffer,LPDWORD pcbBuffer)
lpBuffer是传入的缓冲区指针
pcbBuffer标识传入的缓冲区宽度
函数的使用方法和上面几乎相同:
wstring getUserName()
{
DWORD size</span>=<span>0</span><span>;
wstring wstr;
GetUserName(NULL,</span>&<span>size);
wchar_t </span>*name=<span>new</span><span> wchar_t[size];
</span><span>if</span>(GetUserName(name,&<span>size))
{
wstr</span>=<span>name;
}
delete [] name;
</span><span>return</span><span> wstr;
}</span>
原文:http://www.cnblogs.com/callback/p/4248039.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!