在 Windows 上的應用程式層級停用 nic(網路介面)

在 Windows 上的應用程式層級停用 nic(網路介面)

如何在應用程式層級停用網路介面?

主要問題是這樣的:

如果我禁用網卡槽沃米克(win7) 或開發者大會(XP),有線網路卡的「即插即用」功能不再運作。例如,如果使用者將電纜放在已停用的網路卡上,作業系統不會知道這一點。

因此,我需要保留啟用條件,但像停用網路卡一樣停用網路。

有一些 API、網路設定(路由、更改 ip、更改網關等)、.NET Framework 資源(僅限 NetFramework 2.0)或您是否可以考慮使用任何解決方法來執行此操作?

建議和想法也將被視為解決方案。

謝謝並致以親切的問候。

編輯:原因:

我正在做第三方公司要求的申請,以解決不負責任的人員問題。

該應用程式的主要想法是自動「停用」(到目前為止,不要認為「禁用」是禁用網卡),從而自動「停用」選定的有線。

但在某些情況下,例如 DNS 關閉或類似情況,如果使用者將 utp 電纜插入 eth,應用程式需要知道是否已連接,以啟動網路卡。

該應用程式具有面向「不要傻瓜」行為的工作流程。因此,無論對於專家用戶還是新手,我們都需要照顧所有條件。

假設這種情況:

網卡 A 已啟用並啟動。網路卡 B 已啟用並已關閉。

用戶連接電纜 B。

網路卡 B 已啟用並啟動。

應用程式禁用連線 B.

網路卡 B 已停用。

使用者斷開電纜 B。

網路卡 A 已啟用,但沒有網路連線。 (對於第三家公司來說是「向下」的情況)

應用程式禁用網卡 A。

當使用者重新連接電纜 B 時,應用程式無法啟用網路卡 B。

到目前為止,有很多組合。

答案1

您可以將 NIC 設定為不從 DHCP 中取得其位址,並將其 IP 設定為無效位址。

您可以透過從網路介面卡屬性取消選取該適配器旁的方塊來停用該適配器的 TCP/IP 協議ncpa.cpl

相關內容