极乐门资源网 Design By www.ioogu.com
通过以下示例,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;
标签:
在InstallShield中引用WINSOCK,的示例代码

极乐门资源网 Design By www.ioogu.com
极乐门资源网 免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
极乐门资源网 Design By www.ioogu.com

评论“在InstallShield中引用WINSOCK 的示例代码”

暂无在InstallShield中引用WINSOCK 的示例代码的评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。