如何判断网路状态
在我的程序中设置了网路代理,怎么样测试我的网络是不是连接,类似QQ设置网络代理后的测试功能?
[解决办法]
procedure TForm1.Button1Click(Sender: TObject) ; function FuncAvail(_dllname, _funcname: string; var _p: pointer): boolean; {return True if _funcname exists in _dllname} var _lib: tHandle; begin Result := false; if LoadLibrary(PChar(_dllname)) = 0 then exit; _lib := GetModuleHandle(PChar(_dllname)) ; if _lib <> 0 then begin _p := GetProcAddress(_lib, PChar(_funcname)) ; if _p <> NIL then Result := true; end; end; var InetIsOffline : function(dwFlags: DWORD): BOOL; stdcall;begin if FuncAvail('URL.DLL', 'InetIsOffline', // Win98以下SHELL32.DLL 以上 URL.dll @InetIsOffline) then if InetIsOffLine(0) = true then ShowMessage('Not connected') else ShowMessage('Connected!') ; end;
[解决办法]
ping
[解决办法]
管道ping分析结果
[解决办法]
// c++的,自己转delphi//---------------------------------------// 检测是否连接网络,参数是要ping的网址,例如:http://www.163.com或ip地址//---------------------------------------bool __fastcall CheckInternetConnection(const String &url){ return InternetCheckConnection(url.c_str(), FLAG_ICC_FORCE_CONNECTION, NULL);}