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

原创 2005年05月22日 22:56:00

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

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

Ext做的第一个小东西登陆框(引入的css文件与本来页面的css文件冲突了,搞了半天才搞定)

作为菜鸟,初学Ext几天,这是最后的登录框的页面,是让它浮在首页的,点叉后回到首页,下面讲讲我的开发过程中的一些问题,这些问题肯定是很多新手会遇到的: 现在正在做一个二手网站,想用Ext做后台的页面...

Mac下 安装rockmong 自己搞了半天。终于借助两个帖子搞定了。

一直觉得没有好的MongoDB管理工具,听说MongoVue还不错,但只有Windows版本,现在既然已经彻底转Mac OS了,这个工具就不去深究了.     RockMongo是一...

XML导入程序Memo显示(花了半天搞定的,其实特简单)

unit Leading_XML;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, ...

IP加速找了半天的

  • 2013年09月10日 22:29
  • 1.4MB
  • 下载

为什么Mac OSX一个程序不影响系统,而Win系统经常假死机半天没反应

内容摘自维基百科 在UNIX下,用户进程调用内核只能通过系统调用或陷入(trap)。用户进程使用一个库安排好数据的位置,然后软件触发一个中断,内核在初始化时会为所有中断设置handler,因此程序触...

telnet IP【程序和功能中的telnet服务器和客户端都已经打开,防火墙中23端口也开着,就是进不去,请看里面吧!】

一:先检查windows环境中telnet功能是否已经开启: 发现都已经打开 然后telnet的时候就是报下面的错误: C:\Users\XXXXX>telnet 192.168...

Modelsim下时序(功能)仿真altera IP核 程序(重要)

用Modelsim对Quartus II工程进行时序仿真(在此只讨论时序仿真)可分两种方式:一种是在Quartus II中设置run gate-level simulation automatic...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:气愤,这个程序显示IP功能搞了半天才整好
举报原因:
原因补充:

(最多只允许输入30个字)