我正在尝试使用C#检索所有授权的应用程序:
ArrayList result = new ArrayList();
INetFwMgr firewallManager = (INetFwMgr)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwMgr"));
foreach (INetFwAuthorizedApplication app in firewallManager.LocalPolicy.CurrentProfile.AuthorizedApplications)
{
Console.WriteLine(app.Name);
}
AuthorizedApplications为空,但是在控制面板中,我可以看到许多启用或不启用的规则:
怎么了?我尝试了其他配置文件,例如DOMAIN / STANDARD,结果相同。
console.write(result); check if forEach method brings you all aplications authorized with C# should be a loop instead
foreach (INetFwAuthorizedApplication app in
firewallManager.LocalPolicy.CurrentProfile.AuthorizedApplications)
{
Console.WriteLine(app.Name);
}e.g for(INetFwAuthorizedApplication app in
firewallManager.LocalPolicy.CurrentProfile.AuthorizedApplications){console.log(app.Name);} Are you sure Name is the correct value?, shouldn't be app.name?