主頁 > 知識庫 > 在InstallShield中通過主機名獲取IP地址的代碼

在InstallShield中通過主機名獲取IP地址的代碼

熱門標簽:外呼系統(tǒng)會封嗎 電銷機器人 深圳 在電子版地圖標注要收費嗎 股票配資電銷機器人 武漢AI電銷機器人 萬利達綜合醫(yī)院地圖標注點 地圖標注如何弄全套標 實體店地圖標注怎么標 南京電銷外呼系統(tǒng)哪家好
// 文 件 名:setup.rul
// 腳本功能:通過主機名獲得TCP/IP地址
// 編寫日期:2003-07-15
// 使用方法:調(diào)用函數(shù) fGetIpAddress(szHost, szIPAdress)
// written by Jaron ,2002-07-15 
// 原出處:江都資訊網(wǎng)論壇 http://www.jiangdu.net/bbs;; 
// 轉(zhuǎn)載請注明出處和保留此版權(quán)信息 
// 歡迎使用SiteManager網(wǎng)站管理系統(tǒng) http://sitemanager.cnzone.net;; 

#include "Sddialog.h"
#include "IpAddress.rul"

STRING szIPAddress;
STRING szHostName;

BOOL nResult;

program

 SdShowDlgEdit1 ("", "請輸入您的主機名稱", "主機名:", szHostName);
 nResult = fGetIpAddress(szHostName, szIPAddress);
 if nResult then
 MessageBox ("IP地址是:" + szIPAddress, INFORMATION);
 endif;

endprogram
#include "Sddialog.rul"


==========================
// 文 件 名:IpAddress.rul
// 腳本功能:通過主機名獲得TCP/IP地址
// 編寫日期:2003-07-15
// 使用方法:
// 1. 在 setup.rul 前面加入 #include "IpAddress.rul" 
// 2. 調(diào)用函數(shù) fGetIpAddress(szHost, szIPAdress)
// written by Jaron ,2002-07-15 
// 原出處:江都資訊網(wǎng)論壇 http://www.jiangdu.net/bbs;; 
// 轉(zhuǎn)載請注明出處和保留此版權(quán)信息 
// 歡迎使用SiteManager網(wǎng)站管理系統(tǒng) http://sitemanager.cnzone.net;; 


prototype NUMBER WSOCK32.WSAStartup( NUMBER, POINTER);
prototype NUMBER WSOCK32.gethostbyname(STRING);
prototype NUMBER KERNEL32.RtlMoveMemory (POINTER, NUMBER, NUMBER);
prototype NUMBER WSOCK32.WSACleanup();

prototype fGetIpAddress(STRING, BYREF STRING);

typedef WSADATA
begin
    INT wversion;
    INT wHighVersion;
    STRING szDescription[255];
    STRING szSystemStatus[128];
    INT iMaxSockets;
    INT iMaxUdpDg;
    INT lpszVendorInfo;

end;

typedef HOSTENT
begin
    NUMBER hName; // As Long
    NUMBER hAliases; // As Long
    SHORT hAddrType; //As Integer
    SHORT hLength; // As Integer
    NUMBER hAddrList; // As Long
end;

typedef IPADDRESS
begin
 CHAR b1; //First
 CHAR b2; //Second
 CHAR b3; //Third
 CHAR b4; //Fourth
end;

function fGetIpAddress(szHost, szIPAdress)
 WSADATA StructWSAData;
 WSADATA POINTER pStructWSAData;

 HOSTENT StructHostEnt;
 HOSTENT POINTER pStructHostEnt; 

 NUMBER nResult;
 NUMBER pHostAddress;

 POINTER pHostIPAddress;
 NUMBER HostIPAddress;

 IPADDRESS IpAddress;
 IPADDRESS POINTER pIpAddress;

 STRING sb1, sb2, sb3, sb4; 

 NUMBER nStartUp;
 BOOL bReturn;

begin

 if szHost = "" then
  return FALSE;
 endif;

 if UseDLL(WINSYSDIR^"WSOCK32.DLL")  0 then
  return FALSE;
 endif;

 pStructWSAData = StructWSAData;
 pStructHostEnt = StructHostEnt;

 nStartUp = WSAStartup(0x101, pStructWSAData);

 if nStartUp != 0 then
  return FALSE;
 endif;

 pHostAddress = gethostbyname(szHost);

 if pHostAddress != 0 then

  RtlMoveMemory (pStructHostEnt, pHostAddress, 16);

  pHostIPAddress = HostIPAddress; 
  RtlMoveMemory (pHostIPAddress, StructHostEnt.hAddrList, 4);

  pIpAddress = IpAddress;
  RtlMoveMemory (pIpAddress, HostIPAddress, 4);

  NumToStr(sb1, pIpAddress->b1);
  NumToStr(sb2, pIpAddress->b2);
  NumToStr(sb3, pIpAddress->b3);
  NumToStr(sb4, pIpAddress->b4);

  szIPAdress = sb1 + "." + sb2 +  "." + sb3 + "." + sb4 ;

  bReturn = TRUE;

 else
  bReturn = FALSE;

 endif;

 if nStartUp = 0 then
  WSACleanup();
 endif;

 UnUseDLL("WSOCK32.DLL");

 return bReturn;

end;
您可能感興趣的文章:
  • Android手機獲取IP地址的兩種方法
  • Linux下Python獲取IP地址的代碼
  • JS不能跨域借助jquery獲取IP地址的方法
  • PowerShell腳本實現(xiàn)網(wǎng)卡DHCP自動獲取IP地址、設(shè)置靜態(tài)IP地址的方法
  • js獲取IP地址的方法小結(jié)
  • java獲取ip地址示例
  • java中通過網(wǎng)卡名稱獲取IP地址
  • asp下比較全面的獲取IP地址的代碼
  • 安卓 獲取手機IP地址的實現(xiàn)代碼

標簽:泰安 濟寧 安徽 濟源 廣東 武威 臺州 汕頭

巨人網(wǎng)絡(luò)通訊聲明:本文標題《在InstallShield中通過主機名獲取IP地址的代碼》,本文關(guān)鍵詞  在,InstallShield,中,通過,主,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《在InstallShield中通過主機名獲取IP地址的代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于在InstallShield中通過主機名獲取IP地址的代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章