inte***ce
uses
sysutils
,windows
,dialogs
,winsock
,classes
,***obj
,wini***;
//得到本機的區域網ip位址
function getlocalip(var localip:string): boolean;
//通過ip返回機器名
function getnamebyipaddr(ipaddr: string; var ma**ame: string): boolean ;
//獲取網路中sqlserver列表
function getsqlserverlist(var list: tstringlist): boolean;
//獲取網路中的所有網路型別
function get***list(var list: tstringlist): boolean;
//獲取網路中的工作組
function getgrouplist(var list: tstringlist): boolean;
//獲取工作組中所有計算機
function getusers(groupname: string; var list: tstringlist): boolean;
//獲取網路中的資源
function getuserresource(ipaddr: string; var list: tstringlist): boolean;
//對映網路驅動器
function ***addconnection(***path: pchar; password: pchar;localpath: pchar): boolean;
//檢測網路狀態
function check***(ipaddr:string): boolean;
//檢測機器是否登入網路
function checkmacattach***: boolean;
//判斷ip協議有沒有安裝 這個函式有問題
function isipinstalled : boolean;
//檢測機器是否上網
function inter***connected: boolean;
implementation
function checkmacattach***: boolean;
begin
result := false;
if getsystemmetrics(**_***work) <> 0 then
result := true;
end;
function getlocalip(var localip: string): boolean;
varhostent: phostent;
ip: string;
addr: pchar;
buffer: array [0..63] of char;
ginitdata: twsadata;
begin
result := false;
trywsastartup(2, ginitdata);
gethostname(buffer, sizeof(buffer));
hostent := gethostbyname(buffer);
if hostent = nil then exit;
addr := hostent^.h_addr_list^;
ip := format('%d.%d.%d.%d', [byte(addr [0]),
byte (addr [1]), byte (addr [2]), byte (addr [3])]);
localip := ip;
result := true;
finally
wsacleanup;
end;
end;
function getnamebyipaddr(ipaddr : string;var ma**ame:string): boolean;
varsockaddrin: tsockaddrin;
hostent: phostent;
wsadata: twsadata;
begin
result := false;
if ipaddr = '' then exit;
trywsastartup(2, wsadata);
sockaddrin.sin_addr.s_addr := i***_addr(pchar(ipaddr));
hostent := gethostbyaddr(@sockaddrin.sin_addr.s_addr, 4, af_i***);
if hostent <> nil then
ma**ame := strpas(hostent^.h_name);
result := true;
finally
wsacleanup;
end;
end;
function isipinstalled : boolean;
varwsdata: twsadata;
protoent: pprotoent;
begin
result := true;
tryif wsastartup(2,wsdata) = 0 then
begin
protoent := getprotobyname('ip');
if protoent = nil then
result := false
end;
finally
wsacleanup;
end;
end;
Delphi網路函式庫
unit net inte ce uses sysutils windows dialogs winsock classes comobj wininet 得到本機的區域網ip位址 function getlocalip var localip string boolean 通過ip返回機器名 fu...
網路函式介紹
一 int socket int domain,int type,int protocol 4.成功時返回檔案描述符,失敗時返回 1,看errno可知道出錯的詳細情況.二 int connect int sockfd,struct sockaddr serv addr,int addrlen 1.s...
PHP網路函式總覽
checkdnsrr 給指定的主機 網域名稱 或者ip位址做dns通訊檢查 closelog 關閉系統日誌鏈結 define syslog variables 初始化所有syslog相關變數 dns check record checkdnsrr別名 dns get mx getmxrr別名 dns...