請問如何知道是否連在internet上? |
|
jck1
一般會員 發表:53 回覆:67 積分:24 註冊:2002-05-23 發送簡訊給我 |
|
kynix
初階會員 發表:37 回覆:100 積分:37 註冊:2002-06-01 發送簡訊給我 |
試試這個吧 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;
這是在網路的討論區找到的,您試試看可不可以用
它回傳ture就是已連線 程式就是藝術,藝術就是生命,生命就是美
------
智慧是命運的征服者 |
jck1
一般會員 發表:53 回覆:67 積分:24 註冊:2002-05-23 發送簡訊給我 |
引言: 試試這個吧 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; 這是在網路的討論區找到的,您試試看可不可以用 它回傳ture就是已連線 程式就是藝術,藝術就是生命,生命就是美測了一下 一開始我是有連上網路的 函數傳回來是true 再來我把網路線給拔了 但函數傳回來的還是true 我在想InternetGetConnectedState是不是抓的資料不準呢? |
whyzn
中階會員 發表:46 回覆:149 積分:54 註冊:2002-06-16 發送簡訊給我 |
|
hxf_wolf
一般會員 發表:7 回覆:38 積分:9 註冊:2002-03-14 發送簡訊給我 |
procedure Tfrm_main.Button3Click(Sender: TObject);
var
flags:dword;
state:boolean;
//判斷是否連接到網上
begin
state := InternetGetConnectedState(@flags, 0);
if state then
begin
if (flags and INTERNET_CONNECTION_MODEM) = INTERNET_CONNECTION_MODEM then
begin
showmessage('連接類型ㄩModem');
end;
if (flags and INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN then
begin
showmessage('連接類型ㄩLAN');
end;
if (flags and INTERNET_CONNECTION_PROXY) = INTERNET_CONNECTION_PROXY then
begin
showmessage('連接類型ㄩProxy');
end;
if (flags and INTERNET_CONNECTION_MODEM_BUSY)=INTERNET_CONNECTION_MODEM_BUSY then
begin
showmessage('連接類型ㄩModem Busy');
end;
end;
end;
------
Happy Coding |
00156
高階會員 發表:45 回覆:195 積分:112 註冊:2002-06-01 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
|
flyup
資深會員 發表:280 回覆:508 積分:385 註冊:2002-04-15 發送簡訊給我 |
//監測Internet 連接類型
uses wininet; Function ConnectionKind :boolean;
var
flags: dword;
begin
Result := InternetGetConnectedState(@flags, 0);
if Result then
begin
if (flags and INTERNET_CONNECTION_MODEM) = INTERNET_CONNECTION_MODEM then
begin
showmessage('Modem');
end;
if (flags and INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN then
begin
showmessage('LAN');
end;
if (flags and INTERNET_CONNECTION_PROXY) = INTERNET_CONNECTION_PROXY then
begin
showmessage('Proxy');
end;
if (flags and INTERNET_CONNECTION_MODEM_BUSY)=INTERNET_CONNECTION_MODEM_BUSY then
begin
showmessage('Modem Busy');
end;
end;
end; procedure TForm1.Button1Click(Sender: TObject);
begin
ConnectionKind;
end;
|
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
引言: 測了一下 一開始我是有連上網路的 函數傳回來是true 再來我把網路線給拔了 但函數傳回來的還是true 我在想InternetGetConnectedState是不是抓的資料不準呢? uses Wininet ... ... procedure TForm1.Button3Click(Sender: TObject); var state: LONGWORD; begin if InternetGetConnectedState( @state, 0) then showmessage('connected!') else showmessage('not connected!'); end;根據弟實測的結果, 發現該函數必須要實際發生一次連接網路後 才會正確.., 例如你拔去網路線後, 若是你有 icq 或 msn 等通 訊軟體的話, 原則上馬上就會取得正確的網路狀態了. 若沒有的話, 你可以執行一下 ping www.hinet.net 或其他方式來 進行一次網路的動作後即可!! 再次插回網路線時也是一樣的... |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |