-4

一部のプログラムが C# プログラミングを使用して Windows ファイアウォールを介して通信できるようにしたい (Windows 7 をサポート)。しかし、私はできません。

4

1 に答える 1

2

相互運用機能を使用して、ファイアウォールの構成に使用される COM オブジェクトにアクセスできます。

セキュリティが強化された Windows ファイアウォールのリファレンス

相互運用を使用して API にアクセスするには、相互運用アセンブリを作成する必要があります。そのために使用できますtlbimp.exe

  1. Visual Studio コマンド プロンプトを開きます。
  2. ディレクトリを適切な書き込み可能なフォルダーに変更します。
  3. コマンドを実行しtlbimp FirewallApi.dllます。

相互運用アセンブリは、という名前のファイルに作成されますNetFwTypeLib.dll。このファイルへの参照を C# プロジェクトに追加します。

オブジェクトを作成するには、次のようなコードを記述する必要があります。

var firewallPolicy = (INetFwPolicy2) Activator.CreateInstance(
  Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));

上記のリンク先のドキュメントで指定されている正しいものを使用する必要がありProgID、返されたオブジェクトを正しいインターフェイスにキャストする必要があります。その時点から、IntelliSense を使用して API を調べることができます。

于 2012-08-27T10:00:00.653 に答える