• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    在InstallShield中引用WINSOCK 的示例代码
    通过以下示例,InstallShield可以用WINSOCK获取IP地址,可将以下文件保存为tcpip.rul
    #define WSADESCRIPTION_LEN      256
    #define WSASYS_STATUS_LEN       128
    typedef
     WSAData
      begin
            INT                    wVersion;
            INT                    wHighVersion;
            char                   szDescription[WSADESCRIPTION_LEN+1];
            char                    szSystemStatus[WSASYS_STATUS_LEN+1];
            short                    iMaxSockets;
            short                  iMaxUdpDg;
            POINTER                lpVendorInfo;
    end;
    WSAData structWSAData;
    WSAData POINTER pWSAData;
    typedef  HostEnt
    begin
            POINTER    ph_name; 
            POINTER    ph_aliases; 
            short      h_addrtype; 
            short      h_length;
            POINTER    ph_addr_list;
    end;
    HostEnt structHostEnt;
    HostEnt POINTER pHostEnt;
    SHORT nlen;
    NUMBER nIPNetAddr;
    NUMBER nVersion;
    STRING szMsg;
    STRING szDefault;
    STRING szURL;
    STRING szPath;
    NUMBER nRC;
    NUMBER nRC2;
    STRING szHostName;
    STRING szMYIPAddr;
    POINTER pWinSockReturn;
    typedef IPName
     begin
     STRING szIPAddr[100];
    end;
    IPName LocalIPName;
    IPName  POINTER pLocalIPName;
    typedef IPAddrList
     begin
     POINTER pIPAddr;
    end;
    IPAddrList  structIPAddrList;
    IPAddrList  POINTER pIPAddrList;
    typedef IPAddPtr
     begin
     LONG nIPAddr;
    end;
    IPAddPtr  structIPAddPtr;
    IPAddPtr  POINTER pIPAddPtr;
    POINTER pIN_Addr_Struct;
    prototype POINTER wsock32.gethostbyname(BYREF STRING);
    prototype POINTER wsock32.gethostname(BYREF STRING, NUMBER);
    prototype POINTER wsock32.WSAStartup(INT, POINTER);
    prototype POINTER wsock32.inet_ntoa( NUMBER);
    prototype POINTER wsock32.WSACleanup();
    prototype int     wsock32.WSAGetLastError (   );
     program
    pWSAData = structWSAData;
    nRC = UseDLL ("wsock32.dll");
    pWSAData -> wHighVersion = 1;
    pWSAData -> wVersion     = 1;
    nVersion =  0x02000002;   // 0x01000001
    pWinSockReturn = WSAStartup(nVersion, pWSAData);
    pWinSockReturn = gethostname(szHostName,100);
    pHostEnt       = gethostbyname(szHostName);
     nlen         = pHostEnt   -> h_length;   
     pIPAddPtr    = pHostEnt    -> ph_addr_list;
    pIPAddPtr   = *pIPAddPtr;
    nIPNetAddr  = *pIPAddPtr;
    // nIPNetAddr  = pIPAddPtr  -> nIPAddr;
    pLocalIPName =  inet_ntoa( nIPNetAddr );
    szMYIPAddr   =  pLocalIPName -> szIPAddr;
    MessageBox(szMYIPAddr, INFORMATION);
    WSACleanup();
    exit;
    您可能感兴趣的文章:
    • C语言WinSock学习笔记
    • winsockfix网络协议修复工具
    • WinSock Expert v0.6 beta1 汉化版 下载
    • c语言网络编程-标准步骤(比较简单)
    • c语言网络编程-标准步骤(改进版)
    • c# socket网络编程接收发送数据示例代码
    • C#开发之Socket网络编程TCP/IP层次模型、端口及报文等探讨
    • Windows网络编程之winsock实现文件传输示例
    上一篇:在InstallShield中通过主机名获取IP地址的代码
    下一篇:用InstallShield检测是否安装IIS的脚本
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    在InstallShield中引用WINSOCK 的示例代码 在,InstallShield,中,引用,WINSOCK,