这家伙很懒

若菩萨欲得净土,当净其心,随其心净,则佛土净

气愤,这个程序显示IP功能搞了半天才整好

//==================================头文件============================================

//#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显示不了

阅读更多
想对作者说点什么? 我来说一句

google gperftools

2014年07月08日 1.59MB 下载

FlashDevelop很帅的配色方案

2013年09月18日 61KB 下载

asp.net js服务器时钟

2009年11月11日 753B 下载

Js,php查找字符串练习

ww122081351 ww122081351

2013-12-09 15:04:22

阅读数:590

没有更多推荐了,返回首页

不良信息举报

气愤,这个程序显示IP功能搞了半天才整好

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭