1

一部のポートでリッスンするアプリケーションに取り組んでいます。適切なインストーラーの使用を本当に避けたいので、その時点でファイアウォールを開くことはできません。

アプリケーションを初めて実行すると、Windows はユーザーに許可を求めるダイアログを表示します。この時点で、ユーザーが [はい] (またはいいえ) をクリックするまで実行を遅らせたいと考えています。

現在、次のようなものを使用しています。

while(FindWindow("Windows Security Alert")) {
    Sleep(1000);
}

..これは機能しますが、堅実ではありません。私が知る限り、ファイアウォール APIはこの情報を提供しません。

おまけの質問: ユーザーが [はい] をクリックしたか [いいえ] をクリックしたかを検出する方法はありますか?

4

1 に答える 1

0

ここでは、C# コードhttp://www.shafqatahmed.com/2008/01/controlling-win.htmlで filewall ポートを自分で開く方法に関するいくつかのコードを見つけることができます。 もちろん、これを行うには、アプリを管理者特権で実行する必要があります。

Web 上にも、この機能を提供するインストーラーがいくつかあります。例 (残念ながらオープン ソースではありません): uTorrent のインストーラー。

于 2011-06-15T11:08:51.710 に答える