我正在用Win XP/7編寫C++的小托盤應用程序,目標是隻要應用程序正在運行,http:// *。 dev會指向http://localhost。需要在C++中設置所有接口上的DNS服務器
這是一個模爲XAMPP/WAMP以允許在localhost目錄命名虛擬域的一部分(因此,例如,http://test.dev/index.php將映射到G:\ XAMPP \虛擬\測試\的index.php)
其中一部分是在所有適配器上運行posadis作爲DNS墊片。我有托盤圖標以及其基本功能(啓動時啓動posadis,退出時終止,監視posadis進程並關閉它是否死掉,給出一個粗略的「關於」屏幕),但我仍然需要手動設置並在我的網絡適配器上取消設置DNS服務器。
「手動」 指的是下述的DOS命令 netsh接口IP dnsservers名稱= 「{適配器名稱}」 源=靜態地址127.0.0.1 =初級 ... netsh接口IP dnsservers名稱=「{適配器name}「source = dhcp
這當然不好;可以說,如果你無法將它放在門邊框中,那麼運行DNS墊片有什麼好處呢?
我正在調查的解決方案: 1)我可以讓托盤應用程序在cscript中運行一個命令,從「netsh interface ip show interfaces」中獲取適配器列表,然後在列表中運行註冊命令。這似乎不雅。 2)找出我應該在C++中做什麼的地方;具體來說,我需要一種方法來枚舉系統的適配器,在程序啓動時記錄它們的配置,將它們的DNS指向127.0.0.1,並稍後在程序結束時恢復它們的配置。
箭頭正確的方向將是有益的。一個例子片斷,更多。提前致謝!
哦,甜的!我現在不能玩,但只要有空閒時間,我會試試這個。 – Fordi 2010-10-20 18:33:41