如何知道有哪些计算机与自己的电脑连接
点击次数:49 次 发布日期:2008-11-09 08:41:55 作者:源代码网
|
源代码网推荐 MaxNetArrayItems = 512; 源代码网推荐 type 源代码网推荐 TSessionInfo50 = packed record 源代码网推荐 sesi50_cname: PChar; //remote computer name (connection id in Netware) 源代码网推荐 sesi50_username: PChar; 源代码网推荐 sesi50_key: DWORD; // used to delete session (not used in Netware) 源代码网推荐 sesi50_num_conns: Word; 源代码网推荐 sesi50_num_opens: Word; //not available in Netware 源代码网推荐 sesi50_time: DWORD; 源代码网推荐 sesi50_idle_time: DWORD; //not available in Netware 源代码网推荐 sesi50_protocol: Char; 源代码网推荐 padl: Char; 源代码网推荐 end; 源代码网推荐 源代码网推荐 TNetSessionEnum = function (const pszServer: PChar; sLevel: SmallInt; 源代码网推荐 pbBuffer: Pointer; cbBuffer: Word; var pcEntriesRead: Word; 源代码网推荐 var pcTotalAvail: Word): DWORD; stdcall; 源代码网推荐 源代码网推荐 源代码网推荐 procedure GetNetSessions(ComputerNames: TStrings); 源代码网推荐 var 源代码网推荐 SessionInfo: array[0..MaxNetArrayItems] of TSessionInfo50; 源代码网推荐 EntriesRead, TotalAvail: Word; 源代码网推荐 I: Integer; 源代码网推荐 Str: string; 源代码网推荐 NetSessionEnum: TNetSessionEnum; 源代码网推荐 LibHandle: THandle; 源代码网推荐 begin 源代码网推荐 ComputerNames.Clear; 源代码网推荐 LibHandle := LoadLibrary("SVRAPI.DLL"); 源代码网推荐 if LibHandle <> 0 then 源代码网推荐 begin 源代码网推荐 try 源代码网推荐 @NetSessionEnum := GetProcAddress(LibHandle, "NetSessionEnum"); 源代码网推荐 if (@NetSessionEnum <> nil) then 源代码网推荐 if NetSessionEnum(nil, 50, @SessionInfo, Sizeof(SessionInfo), EntriesRead, TotalAvail) = 0 then 源代码网推荐 begin 源代码网推荐 for I := 0 to EntriesRead - 1 do 源代码网推荐 with SessionInfo[I] do 源代码网推荐 begin 源代码网推荐 SetString(Str, sesi50_cname, StrLen(sesi50_cname)); 源代码网推荐 ComputerNames.Add(Str); 源代码网推荐 end; 源代码网推荐 end; 源代码网推荐 finally 源代码网推荐 FreeLibrary(LibHandle); 源代码网推荐 end; 源代码网推荐 end; 源代码网推荐 end; 源代码网推荐 连接的计算机名存放在 ComputerNames 中,可以在 Win9x 下使用。 源代码网推荐 源代码网供稿. |
