1

我们正在开发一个侦听某些端口的应用程序。我们真的想避免使用正确的安装程序,所以我们不能在那个时候打开防火墙。

应用程序第一次运行时,Windows 会弹出一个对话框,询问用户是否允许。此时,我们希望延迟执行,直到用户单击是(或否,就此而言)。

目前我们使用类似的东西:

while(FindWindow("Windows Security Alert")) {
    Sleep(1000);
}

..有效,但不是坚如磐石。据我所知,防火墙 api不提供此信息。

奖励问题:是否还有一种方法可以检测用户是否单击了是或否?

4

1 回答 1

0

在这里,您可以找到一些关于如何在 C# 代码中自己打开文件墙端口的代码http://www.shafqatahmed.com/2008/01/controlling-win.html 当然,您的应用程序必须运行提升才能执行此操作。

网络上也有几个提供此功能的安装程序。例如(不幸的是不是开源的):uTorrent 的安装程序。

于 2011-06-15T11:08:51.710 回答