【系统信息获取】9,获取主机名

来源:互联网 发布:独立域名邮箱 编辑:程序博客网 时间:2024/06/06 01:53

1,涉及API


方法一、使用GetComputerName。

原型:

BOOL WINAPI GetComputerName(__out LPTSTR lpBuffer,__inout LPDWORD lpnSize);

lpBuffer : 用来接收主机名的字符串。

lpnSize : 返回字符串长度。


方法二、使用 WinSock2.h 中的 gethostname 。

原型:

intWSAAPIgethostname(    __out_bcount(namelen) char FAR * name,    __in int namelen    );

name: 接收主机名的字符串。

namelen:  输入,指定字符串的长度。




2,实现


方法一:

        char szComputerName[255] = {0};DWORD dw;//获取主机名GetComputerNameA(szComputerName,&dw);


方法二:

#include "stdafx.h"#include <iostream> #include <WinSock2.h>#pragma comment(lib,"ws2_32.lib")using   namespace   std;int _tmain(int argc, _TCHAR* argv[]){CHAR szComputerName[MAX_PATH] = {0};WSAData data;if(WSAStartup(MAKEWORD(1,1),&data) != 0){return 1;}if(gethostname(szComputerName,MAX_PATH) == SOCKET_ERROR){return 1;}WSACleanup(); return 0;}


如图,得到的字符串就是 右键“我的电脑”后的计算机名:


0 0