Delphi網路函式庫

2021-04-07 02:27:33 字數 2909 閱讀 3679

unit net;

inte***ce

uses

sysutils

,windows

,dialogs

,winsock

,classes

,comobj

,wininet;

//得到本機的區域網ip位址

function getlocalip(var localip:string): boolean;

//通過ip返回機器名

function getnamebyipaddr(ipaddr: string; var macname: string): boolean ;

//獲取網路中sqlserver列表

function getsqlserverlist(var list: tstringlist): boolean;

//獲取網路中的所有網路型別

function getnetlist(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 netaddconnection(netpath: pchar; password: pchar;localpath: pchar): boolean;

//檢測網路狀態

function checknet(ipaddr:string): boolean;

//檢測機器是否登入網路

function checkmacattachnet: boolean;

//判斷ip協議有沒有安裝   這個函式有問題

function isipinstalled : boolean;

//檢測機器是否上網

function internetconnected: boolean;

implementation

function checkmacattachnet: boolean;

begin

result := false;

if getsystemmetrics(**_network) <> 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 macname:string): boolean;

varsockaddrin: tsockaddrin;

hostent: phostent;

wsadata: twsadata;

begin

result := false;

if ipaddr = '' then exit;

trywsastartup(2, wsadata);

sockaddrin.sin_addr.s_addr := inet_addr(pchar(ipaddr));

hostent := gethostbyaddr(@sockaddrin.sin_addr.s_addr, 4, af_inet);

if hostent <> nil then

macname := 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;

網路函式庫

inte ce uses sysutils windows dialogs winsock classes obj wini 得到本機的區域網ip位址 function getlocalip var localip string boolean 通過ip返回機器名 function getnameb...

網路函式介紹

一 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...