如何通过程序知道有哪些计算机与自己的电脑连接
2008-09-08 04:47
609 查看
在WIN关闭时,往往计算机会提示有哪些计算机与你的电脑连接,那么如何通过程序知道
有哪些计算机与自己的电脑连接?
bbkxjy, 时间:2001-5-31 20:23:57, ID:549334
以前回答过类似的问题,这次又可以骗分了,;)
const
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 下使用。
有哪些计算机与自己的电脑连接?
bbkxjy, 时间:2001-5-31 20:23:57, ID:549334
以前回答过类似的问题,这次又可以骗分了,;)
const
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 下使用。
相关文章推荐
- win7上运行某程序的时候,如果这个程序需要以管理员的身份运行,那么就会有“用户帐户控制”的提示:“您想允许来自...发布者的以下程序对此计算机进行更改吗?”请问,win7如何知道哪些程序需要以管理员的身份运行?
- 如何通过command line知道自己电脑信息
- 如何查看哪些计算机正在连接自己的计算机?
- 如何知道自己的电脑是否共享
- 通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- Linux内核分析课程--通过反汇编一个简单的c程序,分析汇编代码并理解计算机如何工作的
- 如何实现通过自己的程序发送邮件
- 如何用电脑通过蓝牙连接手机上网
- 教你如何用电脑通过蓝牙连接手机上网
- x86平台 通过反汇编简单的从程序,分析理解计算机是如何工作的。
- 通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 如何让两台笔记本电脑通过无线网卡连接起来
- 如何通过直接网线接法连接两台电脑
- 程序中如何给自己设置硬件断点(通过程序代码设置数据断点而不使用JTAG)
- 电脑如何通过USB连接PPC手机上网
- 计算机是如何工作的?--通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 云课堂 Linux内核分析 通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
- 教你如何用电脑通过蓝牙连接手机上网
- 最简单的如何识别计算机哪些COM口处于连接状态