气愤,这个程序显示IP功能搞了半天才整好
来源:互联网 发布:驾照考试预约软件 编辑:程序博客网 时间:2024/04/29 16:06
//==================================头文件============================================
//#include <windows.h>
#include<Winsock2.h>
#include<stdio.h>
#include "resource.h"
//===========================库文件=====================================================
#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "mswsock.lib")
//=========================全局变量=====================================================
char g_szIpAdress[20];
//=========================全局函数=====================================================
BOOL CALLBACK DialogFun(HWND, UINT,WPARAM, LPARAM);
BOOL GetLocalIP();//取得本主机IP
BOOL SetDlgIpAndPort(HWND);//设置为对话框IP
DWORD IniSOCKDLL();//协议协商
//======================================================================================
int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow)
{
MSG msg;
if(100==DialogBox(hinstance,"mydialog",NULL,(DLGPROC)DialogFun))
{
PostQuitMessage(WM_QUIT);
}
while (GetMessage(&msg, (HWND) NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
UNREFERENCED_PARAMETER(lpCmdLine);
}
//========================================================================================
BOOL CALLBACK DialogFun(HWND dlghwnd, UINT message,WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_PAINT:
return FALSE;
case WM_INITDIALOG :
{
IniSOCKDLL();//开始的时候没有注意到这个 郁闷
if(FALSE==GetLocalIP())
{
return FALSE;
}
SetDlgIpAndPort(dlghwnd);
return FALSE;
}
case WM_COMMAND:
{
switch(LOWORD(wParam))
{
case IDOK:
{
EndDialog(dlghwnd,100);//定义100来确定退出对话框
return TRUE;
}
case IDC_SET_PORTANDIP:
{
}
case IDC_SEND:
{
}
}
return FALSE;
}
return FALSE;
}
return FALSE;
}
BOOL GetLocalIP()
{
//char szIpAdress[20];
hostent* IpAdress;//存放网络字节的IP地址
char NameBuffer[30];//定义存放主机名字的缓冲区
if(SOCKET_ERROR==gethostname(NameBuffer,sizeof(NameBuffer)))
{
return FALSE;
}
IpAdress=gethostbyname(NameBuffer);
if(NULL==inet_ntoa (*(struct in_addr *)*IpAdress->h_addr_list))
{
return FALSE;
}
//用g_szIpAdress来保存IP的地址
strcpy (g_szIpAdress,inet_ntoa (*(struct in_addr *)*IpAdress->h_addr_list));
return TRUE;
}
BOOL SetDlgIpAndPort(HWND DialogHwnd)
{
SetDlgItemText(DialogHwnd,IDC_IPADDRESS,g_szIpAdress);
SetDlgItemInt(DialogHwnd,IDC_PORT,80,FALSE);
return 0;
}
DWORD IniSOCKDLL()
{
WORD wVersionRequested;
WSADATA wsaData;
int err=0;
wVersionRequested = MAKEWORD( 2, 2 );
err = WSAStartup( wVersionRequested, &wsaData );
return err;
}
程序基本几是上面的
开始调用的时候没有协商协议
导致IP显示不了
- 气愤,这个程序显示IP功能搞了半天才整好
- 大家看看这个错误怎么解决 。。。搞了我半天
- 晕撒 搞了半天都不会弄
- 被ADS搞了半天多
- 折腾了半天就是为了发这个
- 弄了半天终于搞明白了,呵呵。
- 搞了半天原来是个低级错误
- touchscreen 的 istouching 搞了半天沒搞好
- 什么情况,我搞了半天 怎么都没图片
- 运行虚拟机报错!!!搞半天了求解脱
- 太气愤了!太气愤了!太气愤了!
- XML导入程序Memo显示(花了半天搞定的,其实特简单)
- 这个烂玩意怎么 用啊 整了半天 也没整明白
- 搜狗输入法组件功能,总是出现这个东西,点了不在对此程序显示此警告,没有用
- 太令人气愤了
- 太令人气愤了
- 太令人气愤了
- 这个垃圾blog,怎么加友情链接都搞半天没有找到
- Borderline - Chris De Burgh
- 使用临界段实现优化的进程间同步对象-原理和实现
- 给联银通公司做了一整天工作流培训的纪实
- 经典JAVA问题
- STL轻松导学3
- 气愤,这个程序显示IP功能搞了半天才整好
- 字典魔法
- QueryDataSet取得带时分秒日期的问题?
- 《Undocumented Windows 2000 Secrets》翻译 --- 第七章(3)
- 一个递归sql
- 小白
- 弹性的思维
- 《仓鼠球online》80%策划案
- 《三十六计》搞笑图解