using System; using System.IO; using NetFwTypeLib; namespace FirewallTest { class Program { static void Main(string[] args) { /* Type type = Type.GetTypeFromProgID("HNetCfg.FwMgr"); object obj = Activator.CreateInstance(type); INetFwMgr fwmgr = (INetFwMgr)obj; type = Type.GetTypeFromProgID("HNetCfg.FwAuthorizedApplication"); obj = Activator.CreateInstance(type); INetFwAuthorizedApplication app = (INetFwAuthorizedApplication)obj; app.Enabled = true; app.IpVersion = NET_FW_IP_VERSION_.NET_FW_IP_VERSION_ANY; app.Name = "My Application"; app.ProcessImageFileName = "%ProgramFiles%" + Path.DirectorySeparatorChar + "My Company" + Path.DirectorySeparatorChar + "My Application" + Path.DirectorySeparatorChar + "MyApp.exe"; app.Scope = NET_FW_SCOPE_.NET_FW_SCOPE_ALL; fwmgr.LocalPolicy.CurrentProfile.AuthorizedApplications.Add(app); */ /* try { INetFwPolicy2 policy = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2")); foreach (INetFwRule rule in policy.Rules) { if (rule.Name.Equals("My Application")) Console.WriteLine(rule.Name + " " + rule.LocalPorts + " " + rule.LocalAddresses + " " + rule.Protocol + " " + rule.Interfaces + " " + rule.Grouping + " " + rule.serviceName ); } Console.WriteLine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)); Console.ReadLine(); } catch (Exception e) { Console.Error.WriteLine(e); } */ /* Type type = Type.GetTypeFromProgID("HNetCfg.FwRule"); object obj = Activator.CreateInstance(type); INetFwRule rule = (INetFwRule)obj; rule.Action = NET_FW_ACTION_.NET_FW_ACTION_ALLOW; rule.ApplicationName = @"C:\Program Files\My Company\My Application\MyApp.exe"; rule.Description = "A brief description of my application."; rule.Direction = NET_FW_RULE_DIRECTION_.NET_FW_RULE_DIR_IN; rule.EdgeTraversal = false; rule.Enabled = true; rule.LocalAddresses = "*"; rule.Protocol = 6; // TCP rule.LocalPorts = "9009"; rule.Name = "My Application"; rule.serviceName = "My Application"; ; INetFwPolicy2 policy = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2")); //policy.Rules.Add(rule); */ } } }