我想通过VC中MFC封装的函数获取主机信息(主机名,用户名,子网掩码,IP,以及共享的资源),请问都需要哪些函数啊?如果设置这些信息又需要哪些函数呢?希望高手指点一二!先谢谢了!
解决方案 »
- 关于圆角矩形边框问题
- Prof-UIS控件的使用问题
- 如何在一个线程中停止另外一个线程??/
- 为什么程序加了一个按钮之后,并且为他添加了成员变量之后点击运行窗口出现不了了?
- 有人需要免费的可以绑定ip的二级域名吗?
- 做一个类似防火墙的程序,放在服务器上用,可以过滤局域网内其它机器上网的数据,可有简单的方法(若不做驱动);有好的建议也可
- WIN32平台上最好的VC开发包(IFC)---免费发送
- 男人的品味(转)
- 急!谁有vc通过ado操作sql server 存储过程的例子?
- 利用ADO怎么往SQL Server中的ntext类型字段中插入值?
- 程序偶尔出错的情况,望高手指点
- win32下select到底有没有64句柄的限制啊?
int CClientDlg::GetLocalHostName(CString &sHostName)
{
char szHostName[256];
int nRetCode;
nRetCode=gethostname(szHostName,sizeof(szHostName));
if(nRetCode!=0)
{
//产生错误
sHostName=_T("没有取得");
return GetLastError();
}
sHostName=szHostName;
return 0;
}
//获得本地IP
int CClientDlg::GetIpAddress(const CString &sHostName, CString &sIpAddress)
{
struct hostent FAR * lpHostEnt=gethostbyname(sHostName);
if(lpHostEnt==NULL)
{
//产生错误
sIpAddress=_T("");
return GetLastError();
}
//获取IP
LPSTR lpAddr=lpHostEnt->h_addr_list[0];
if(lpAddr)
{
struct in_addr inAddr;
memmove(&inAddr,lpAddr,4);
//转换为标准格式
sIpAddress=inet_ntoa(inAddr);//把一个inAddr结构转化为点分十进制格式
if(sIpAddress.IsEmpty())
sIpAddress=_T("没有取得");
}
return 0;
}