Delphi檢測網絡連接狀態


       有時候,我們做一些小軟件就需要檢測網絡連接狀態,比如想給你的軟件加上類似QQ那樣的系統消息,可是像我這樣的窮人肯定是買不起服務器了,那我們只好另想辦法,可以讀取網頁然后用瀏覽器顯示,這個時候就需要判斷網絡狀態。
    我目前采用的判斷方式有兩種:

1.采用WinInet方式:

uses WinInet;

procedure TForm1.Button1Click(Sender: TObject);
var
  Flags: DWORD;
begin
  if InternetGetConnectedState(@Flags, 0) then
  begin
    if (Flags and INTERNET_CONNECTION_MODEM) = INTERNET_CONNECTION_MODEM then Label1.Caption := '在線:撥號上網';
    if (Flags and INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN then Label1.Caption := '在線:局域網上網';
    if (Flags and INTERNET_CONNECTION_PROXY) = INTERNET_CONNECTION_PROXY then Label1.Caption := '在線:代理上網';
    if (Flags and INTERNET_CONNECTION_MODEM_BUSY) = INTERNET_CONNECTION_MODEM_BUSY then Label1.Caption := 'Modem被其他網絡使用';
  end;
end;

2.采用URL.dll文件提供的InetIsOffline函數:

首先聲明函數:
function InetIsOffline(Flag: integer): Boolean; stdcall; external 'URL.dll';
然后調用
procedure TForm1.Button2Click(Sender: TObject);
begin
  if InetIsOffline(1) then
    Label1.Caption := '網絡在線!'
  else
    Label1.Caption := '網絡不在線!';
end;
不知道是不是我的調用方式有問題,總是顯示無連接。

http://www.lsworks.net/article/7.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM