怎样知道别人已经拔号上网(100分)

  • 主题发起人 主题发起人 鸡蛋
  • 开始时间 开始时间

鸡蛋

Unregistered / Unconfirmed
GUEST, unregistred user!
  我们几台机组建了一个宿舍网,大家拉一条专线上网,现在我想用DELPHI编程,当其中
一个用户拔号上网了,如果其它用户想拔号,就提示信息“XXX用户正在拔号上网...”.但
不知怎样才能在局域网内判别其它用户是否已联接上网呢,怎样将信息发给其它用户呢?
 
procedure TForm1.Timer1Timer(Sender: TObject);
var b: array[0..4] of Byte;
begin
with TRegistry.Create do
try
RootKey := HKEY_LOCAL_MACHINE;
OpenKey('System/CurrentControlSet/Services/RemoteAccess',False);
ReadBinaryData('Remote Connection',b,4);
finally
Free;
end;
if b[0]=1 then Caption:='OnLine' else Caption:='OffLine';
end;
 
uses WinInet;

procedure TForm1.Button1Click(Sender: TObject);

function GetOnlineStatus : Boolean;
var ConTypes : Integer;
begin
ConTypes := INTERNET_CONNECTION_MODEM + INTERNET_CONNECTION_LAN + INTERNET_CONNECTION_PROXY;
if (InternetGetConnectedState(@ConTypes, 0) = False)
then Result := False
else Result := True;
end;

begin
if GetOnlineStatus then
ShowMessage(' Connected')
else ShowMessage(' not Connected');
end;
 
提示INTERNET_CONNECTION_MODEM、 INTERNET_CONNECTION_LAN、 INTERNET_CONNECTION_PROXY
不能识别。
第一种方法我自己拔号上网都不能正确判断,不过我是在WINXP下运行的,有问题吗。
我想能知道局域网内是哪个用户拔号上网了,并将其用户名显示出来,可以吗?cozo
 
你有没有uses WinInet?
我想既然是局域网,你应该知道的他们的IP吧。动态设置代理,然后去Ping一个网站。也许可以。
 
局域网如何拨号上网???是不是服务器?
那就简单的多,直接看能不能上网就知道他上网了没?
 
我们的局域网由5台机组成,它们分布在各层楼间,其中任何一台都可以拔号上网,作服
务器使用,其它的机子就可以共享上网,有时候想知道是哪个用户拔号上网了,而它却不
共享,使其它用户不能上网,问题就是这样
 
你做个多线程的PING程序不就OK了
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
867
DelphiTeacher的专栏
D
D
回复
0
查看
836
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部