有关网络类API函数的使用问题?(50分)

  • 主题发起人 主题发起人 williem
  • 开始时间 开始时间
W

williem

Unregistered / Unconfirmed
GUEST, unregistred user!
目的:
想通过function InternetGetConnectedState(lpdwFlags: LPDWORD;
dwReserved: DWORD): BOOL; 来看计算机是否连上网?
程序:
procedure TForm1.Button1Click(Sender: TObject);
var
fs:LPDWORD;
begin

if internetGetconnectedstate(fs,0) then
begin
showmessage('online')
end
else
showmessage('offline')
end;
错误:
1) 在DELPHI编程环境中提示好象是"溢出错误"
2)在无DELPHI编程环境下,直接执行该程序,程序被吊起?

请教为什么?如何解决?
 
这样
procedure TForm1.Button1Click(Sender: TObject);
var
fs:DWORD;
begin

if internetGetconnectedstate(@fs,0) then
begin
showmessage('online')
end
else
showmessage('offline')
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var
fs:DWORD;
begin

if internetGetconnectedstate(@fs,0) then
begin
showmessage('online')
end
else
showmessage('offline')
end;

但实际上这个函数得不到你想要的结果,前一段时间我一直都在找测试是否联网的方法,
但是并没有找到,这个函数好象是返回硬件设置是否可以上网的东东,不太记得了,呵。
 
procedure TForm1.Button1Click(Sender: TObject);
var
fs:LPDWORD;
begin
if internetGetconnectedstate(@fs,0) then //注意是 @fs
showmessage('online')
else
showmessage('offline')
end;

或者利用下面的程序也可以实现:

procedure TForm1.Button1Click(Sender: TObject);
begin
begin
if GetSystemMetrics(SM_NETWORK) AND $01 = $01 then
ShowMessage('Machine is attached to network')
else
ShowMessage('Machine is not attached to network');
end;
 
不好意思,回贴的时候还没前两篇,呵呵
 
多人接受答案了。
 
后退
顶部