获取主机名称和ip,用户名

#include <iostream>
#include <string>
#include <winsock2.h>
#pragma comment(lib,"ws2_32.lib")

using namespace std;

int main(int argc, char* argv[])
{

	string ip_list;
	char PCnameBuffer[128];    //获得本地计算机名
	WSAData data;              //初始化:如果不初始化,以下代码将无法执行
	if(WSAStartup(MAKEWORD(1,1),&data)!=0)  
	{  
		cout<<"初始化错误,无法获取主机信息..."<<endl;  
	}  
	else
	{
		if(0==gethostname(PCnameBuffer,128))  
		{  
			struct hostent* pHost;  //获得本地IP地址
			pHost=gethostbyname(PCnameBuffer);  //pHost返回的是指向主机的列表
			for (int i=0;pHost!=NULL&&pHost->h_addr_list[i]!=NULL;i++)  
			{
				string tem = inet_ntoa(*(struct in_addr *)pHost->h_addr_list[i]);
				ip_list += tem;
				ip_list += "\n";
			}  
		}  
		else  
		{  
			cout<<"获取主机信息失败..."<<endl ;  
		}
	}  
	cout<<PCnameBuffer<<endl;
	cout<<ip_list<<endl;
	getchar();
	return 0;  
}


获取用户名:

#include <iostream>
#include <afx.h>
#pragma comment(lib,"Advapi32.lib")
using namespace std;

int main()
{
	CString strUserName;
	 
	LPTSTR szBuffer=new wchar_t[300];  
    DWORD dwSize=300;  
    GetUserName(szBuffer,&dwSize);  
    strUserName=szBuffer;  
	delete szBuffer; 
	const size_t newsizew = (strUserName.GetLength() + 1)*2; //  
	char *ch = new char[newsizew];  
	WideCharToMultiByte(CP_OEMCP,NULL,strUserName,-1,ch,newsizew,0,NULL);// m_cstr --> ch 
	cout<<ch<<endl;
	return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值