如何停止/啟動網際網路連線 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
發表這篇文章的靈感來自於以下這個問題
【 >
< class="code">
1.此篇文章的目的為何??
提供一個停止/啟動網際網路連線的可行方法 2.主要的程式碼為何??
void __fastcall TForm1::StopClick(TObject *Sender)
{
DWORD dwSize=0;
MIB_IFTABLE *mit=NULL;
GetIfTable(NULL, &dwSize, true);
mit=(MIB_IFTABLE*)new BYTE[dwSize];
if(NO_ERROR==GetIfTable(mit, &dwSize, true))
{
for(int i=0; i<(int)mit->dwNumEntries; i++)
{
mit->table[i].dwAdminStatus=MIB_IF_ADMIN_STATUS_DOWN;
if(NO_ERROR==SetIfEntry(&mit->table[i]))
{
ShowMessage("Stop Adapter("+IntToStr(mit->table[i].dwIndex)+") "
+(AnsiString)(char*)mit->table[i].bDescr+" succeed.");
}
}
}
delete mit;
}
void __fastcall TForm1::StartClick(TObject *Sender)
{
DWORD dwSize=0;
MIB_IFTABLE *mit=NULL;
GetIfTable(NULL, &dwSize, true);
mit=(MIB_IFTABLE*)new BYTE[dwSize];
if(NO_ERROR==GetIfTable(mit, &dwSize, true))
{
for(int i=0; i<(int)mit->dwNumEntries; i++)
{
mit->table[i].dwAdminStatus=MIB_IF_ADMIN_STATUS_UP;
if(NO_ERROR==SetIfEntry(&mit->table[i]))
{
ShowMessage("Start Adapter("+IntToStr(mit->table[i].dwIndex)+") "
+(AnsiString)(char*)mit->table[i].bDescr+" succeed.");
}
}
}
delete mit;
} 3.是否有完整的範例 Project 可以下載(包含原始碼)??
http://delphi.ktop.com.tw/loadfile.php?TOPICID=10518691&CC=235249 4.該如何使用這個範例 Project??
(1)下載及解壓縮檔案 StartStopNetwork.zip,執行檔案
StartStopNetwork.exe
(2)在「Start/Stop Adapter Demo」Form 中,按「Stop All Adapter」
Button
(3)如果 (2) 執行成功的話,開啟 Internet Explorer (IE) 後,應該是連不
上任何網頁的
(4)在「Start/Stop Adapter Demo」Form 中,按「Start All Adapter」
Button
(5)如果 (4) 執行成功的話,開啟 Internet Explorer (IE) 後,應該就可以
連上網頁了 5.此種做法是否有其他的限制??
是的,有限制,目前測試的結果,並不能停止「網路芳鄰」的連線 6.在哪一個作業系統中,可以使用這個方法??
根據 M$DN 中的說明,以上程式碼用到的所有 Win32 API,在 Windows 9X/ME
/NT/2000/XP 都是適用的,因此,理論上來說,在這些作業系統應該都可以使
用;不過,目前只在 Windows 2000 測試過,有興趣的會員,也請幫忙在其他
作業系統試試看 7.如果寫得不好,或是有不對的地方,請大家多多指教
> --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
gavinj123
初階會員 發表:88 回覆:48 積分:27 註冊:2002-10-15 發送簡訊給我 |
|
winsnowlove
一般會員 發表:10 回覆:7 積分:3 註冊:2004-11-20 發送簡訊給我 |
我下载了文中的范例 http://delphi.ktop.com.tw/loadfile.php?TOPICID=10518691&CC=235249,运行能成功,出现几个“Stop Adapter ... succeed”,但是照样能连上网页,不知什么原因?还请教各位大大!
我用的OS是WinXP,MSI mainboard: K7N2, NForce 2 based, mainboard上内置网卡。
可能SetIfEntry不能在XP下用?当时M$DN上说可以呀。请先进不吝指教!
|
windblown
中階會員 發表:0 回覆:117 積分:98 註冊:2003-11-14 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |