麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

網絡函數庫

2019-11-18 18:14:41
字體:
來源:轉載
供稿:網友


{=============================================================
   功  能: 網絡函數庫
   時  間: 2002/10/02
   版  本: 1.0
   備  注: 沒有事情干,抄抄寫寫整理了一些網絡函數供大家使用。
   希望大家能繼續補充
==============================================================}
unit Net;

interface
  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

{=================================================================
  功  能: 檢測機器是否登入網絡
  參  數: 無
  返回值: 成功:  True  失敗:  False
  備 注:
  版 本:
     1.0  2002/10/03 09:55:00
=================================================================}
Function CheckMacAttachNet: Boolean;
begin
  Result := False;
  if GetSystemMetrics(SM_NETWORK) <> 0 then
    Result := True;
end;

{=================================================================
  功  能: 返回本機的局域網Ip地址
  參  數: 無
  返回值: 成功:  True, 并填充LocalIp   失敗:  False
  備 注:
  版 本:
     1.0  2002/10/02 21:05:00
=================================================================}
function GetLocalIP(var LocalIp: string): Boolean;
var
    HostEnt: PHostEnt;
    Ip: string;
    addr: pchar;
    Buffer: array [0..63] of char;
    GInitData: TWSADATA;
begin
  Result := False;
  try
    WSAStartup(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;

{=================================================================
  功  能: 通過Ip返回機器名
  參  數:
          IpAddr: 想要得到名字的Ip
  返回值: 成功:  機器名   失敗:  ''
  備 注:
    inet_addr function converts a string containing an Internet
    PRotocol dotted address into an in_addr.
  版 本:
    1.0  2002/10/02 22:09:00
=================================================================}
function GetNameByIPAddr(IPAddr : String;var MacName:String): Boolean;
var
  SockAddrIn: TSockAddrIn;
  HostEnt: PHostEnt;
  WSAData: TWSAData;
begin
  Result := False;
  if IpAddr = '' then exit;
  try
    WSAStartup(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;

{=================================================================
  功  能: 返回網絡中SQLServer列表
  參  數:
          List: 需要填充的List
  返回值: 成功:  True,并填充List  失敗 False
  備 注:
  版 本:
    1.0  2002/10/02 22:44:00
=================================================================}
Function GetSQLServerList(var List: Tstringlist): boolean;
var
   i: integer;
   sRetValue: String;
   SQLServer: Variant;
   ServerList: Variant;
begin
  Result := False;
  List.Clear;
  try
    SQLServer := CreateOleObject('SQLDMO.application');
    ServerList := SQLServer.ListAvailableSQLServers;
    for i := 1 to Serverlist.Count do
      list.Add (Serverlist.item(i));
    Result := True;
  Finally
    SQLServer := NULL;
    ServerList := NULL;
  end;
end;

{=================================================================
  功  能: 判斷Ip協議有沒有安裝
  參  數: 無
  返回值: 成功:  True 失敗: False;
  備 注:   該函數還有問題
  版 本:
     1.0  2002/10/02 21:05:00
=================================================================}
Function IsIPInstalled : boolean;
var
  WSData: TWSAData;
  ProtoEnt: PProtoEnt;
begin
  Result := True;
  try
    if WSAStartup(2,WSData) = 0 then
    begin
      ProtoEnt := GetProtoByName('IP');
      if ProtoEnt = nil then
        Result := False
    end;
  finally
    WSACleanup;
  end;
end;

 


上一篇:文件與Olevariant

下一篇:文件與目錄

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 草碰人人 | 99在线热视频 | 久久综合一区二区 | 午夜精品久久久久久毛片 | 在线a视频 | 久久99国产精品视频 | 在线天堂中文字幕 | 中日韩免费视频 | 欧美性受ⅹ╳╳╳黑人a性爽 | 午夜精品区 | 亚洲视频在线网 | 91精品国产乱码久久久久久久久 | 国产一级毛片国产 | 国产成人精品午夜视频' | 久久sp| 精品99在线视频 | 国产99久久久久久免费看 | 日本精品久久久一区二区三区 | 久久久久久久久成人 | 国产一区二区免费在线观看 | 国产精品久久久久久久av三级 | 国产一区二区三区视频在线观看 | 香蕉国产在线视频 | 午夜影视一区二区 | 日本高清黄色片 | 91精品国产91久久久 | 国产精品剧情一区二区在线观看 | www69xxxxx| av电影在线网站 | 欧美日韩亚洲在线观看 | 久久精品站 | 精品少妇v888av | 亚洲va久久久噜噜噜久牛牛影视 | 久久成人免费网 | 成年免费看 | 日韩欧美高清一区 | 国产精品视频二区不卡 | 欧美亚洲国产一区二区三区 | 久久久鲁| 神马久久精品综合 | 欧美片a |