我有一个C++程序要求实现计算机的IP地址和计算机名,可以帮我写一下吗?
书上的代码老师要求将其MFC的“获取主机名和IP地址”提取其功能代码转换成CONSOLEAPPLICATION代码...
书上的代码老师要求将其MFC的“获取主机名和IP地址”提取其功能代码转换成CONSOLE APPLICATION代码
展开
2个回答
推荐于2016-09-15
展开全部
MFC编程实现主机名及本地IP地址的获取,建立一对话框工程,假设名为IP,其有一个按钮响应的程序:如OnButton1();
BOOL CIPDlg::OnInitDialog()
{
CDialog::OnInitDialog();
AfxSocketInit(NULL);//支持Socket.若在向导是没选Support Socket,这就的加.还要加#include <afxsock.h>在StdAfx.h中.
.......
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
}
void CIPDlg::OnButton1()
{
WORD wVersionRequested;
WSADATA wsaData;
char name[255];
CString ip;
PHOSTENT hostinfo;
wVersionRequested = MAKEWORD( 2, 0 );
if ( WSAStartup( wVersionRequested, &wsaData ) == 0 )
{
if( gethostname ( name, sizeof(name)) == 0)
{
if((hostinfo = gethostbyname(name)) != NULL)
{
ip = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list);
}
}
WSACleanup( );
}
AfxMessageBox(name);//name里是本机名
AfxMessageBox(ip); //ip中是本机IP
}
BOOL CIPDlg::OnInitDialog()
{
CDialog::OnInitDialog();
AfxSocketInit(NULL);//支持Socket.若在向导是没选Support Socket,这就的加.还要加#include <afxsock.h>在StdAfx.h中.
.......
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
}
void CIPDlg::OnButton1()
{
WORD wVersionRequested;
WSADATA wsaData;
char name[255];
CString ip;
PHOSTENT hostinfo;
wVersionRequested = MAKEWORD( 2, 0 );
if ( WSAStartup( wVersionRequested, &wsaData ) == 0 )
{
if( gethostname ( name, sizeof(name)) == 0)
{
if((hostinfo = gethostbyname(name)) != NULL)
{
ip = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list);
}
}
WSACleanup( );
}
AfxMessageBox(name);//name里是本机名
AfxMessageBox(ip); //ip中是本机IP
}
追问
就只需要一个cpp文件么?
追答
是的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效...
点击进入详情页
本回答由Storm代理提供
2014-06-06
展开全部
可以用直接获取的插件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询