ファイアウォールが有効になっているかどうかを確認するだけの場合。あなたができる:
NetFwMgrType = Type.GetTypeFromProgID("HNetCfg.FwMgr", false);
INetFwMgr Manage = (INetFwMgr)Activator.CreateInstance(NetFwMgrType);
bool Firewallenabled = Manage.LocalPolicy.CurrentProfile.FirewallEnabled;
次に、アプリケーションを承認済みアプリケーションに追加できます。
INetFwAuthorizedApplications applications;
INetFwAuthorizedApplication application;
// Input Application Name
application.Name = “Internet Explorer”;
// Locate .exe
application.ProcessImageFileName = "C:\\Program Files\\Internet Explorer\\iexplore.exe"
// Enable
application.Enabled = true;
// Authorize the Application
Type NetFwMgrType = Type.GetTypeFromProgID("HNetCfg.FwMgr", false);
INetFwMgr Manage = (INetFwMgr)Activator.CreateInstance(NetFwMgrType);
applications = (INetFwAuthorizedApplications)mgr.LocalPolicy.CurrentProfile.AuthorizedApplications;
applications.Add(application);
次の COM オブジェクトにアクセスする必要があります。
- NetFwTypeLib
- HNetCfg.FwMgr
これらは XP SP2 用の古い COM オブジェクトで書かれていることに注意してください。Microsoft が使用を推奨する場所: INetFwPolicy2。ただし、Vista、7、および 8 では機能します。古いコードを使用したいくつかの例を含む記事を含むドキュメントを次に示します。これが役立つかどうかわかりません。うまくいけば、そうなります。
ビスタ、7、8
XP サービスパック 2:
これらの例の詳細をブログに掲載します。と説明。