[C#] 允许当前应用程序通过防火墙

通常在一台装有防火墙的电脑上运行程序的场合,往往会弹出对话框提示:是否允许执行该应用程序。

我们在开发软件的时候,可以事先在软件里面设置当前软件为防火墙允许通过的软件。这样,用户在使用时就可以避开前面提到的弹框了。

在c#中,我们可以加入以下代码:

INetFwMgr netFwMgr = (INetFwMgr)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwMgr"));

INetFwAuthorizedApplication app = (INetFwAuthorizedApplication)Activator.CreateInstance(

Type.GetTypeFromProgID("HNetCfg.FwAuthorizedApplication"));

app.Name = "MyProgram";

app.ProcessImageFileName = Application.ExecutablePath;

app.Enabled = true;

netFwMgr.LocalPolicy.CurrentProfile.AuthorizedApplications.Add(app);

这样,防火墙就允许指定的软件执行了。

相关推荐
i橡皮擦14 小时前
TheIsle恐龙岛读取游戏基址做插件(C#语言)
开发语言·游戏·c#·恐龙岛·theisle
用户219916797039120 小时前
C# 14 中的新增功能
c#
垂葛酒肝汤21 小时前
放置挂机游戏的离线和在线收益unity实现
游戏·unity·c#
爱说实话1 天前
C# 20260112
开发语言·c#
无风听海1 天前
C#中实现类的值相等时需要保留null==null为true的语义
开发语言·c#
云草桑1 天前
海外运单核心泡货计费术语:不计泡、计全泡、比例分泡
c#·asp.net·net·计泡·海运
精神小伙就是猛1 天前
C# Task/ThreadPool async/await对比Golang GMP
开发语言·golang·c#
工程师0071 天前
C#状态机
开发语言·c#·状态模式·状态机