<分区>
我用 C# 编写了一个程序。如果用户勾选此框,它会将自身复制到启动。
应用程序使用注册表项“SOFTWARE\Microsoft\Windows\CurrentVersion\Run”将自身添加到启动。
它工作正常,除了每次重新启动机器时都会提示用户是否确定要运行该程序,因为它被 Windows 阻止,因为它“来自另一台计算机”。
有什么方法可以通过代码摆脱这个 Windows“已阻止”标志,以便每次程序尝试自行运行时都不会提示用户?
谢谢
<分区>
我用 C# 编写了一个程序。如果用户勾选此框,它会将自身复制到启动。
应用程序使用注册表项“SOFTWARE\Microsoft\Windows\CurrentVersion\Run”将自身添加到启动。
它工作正常,除了每次重新启动机器时都会提示用户是否确定要运行该程序,因为它被 Windows 阻止,因为它“来自另一台计算机”。
有什么方法可以通过代码摆脱这个 Windows“已阻止”标志,以便每次程序尝试自行运行时都不会提示用户?
谢谢
最佳答案
当下载/复制到机器上时,Windows 根据文件的来源位置 (http://msdn.microsoft.com/en-us/library/dn392609.aspx) 附加一个区域标识符 (http://msdn.microsoft.com/en-us/library/ms537183.aspx)
为了取消阻止文件,您必须让用户打开文件属性并单击“取消阻止”按钮,或者您自己将其删除。
您可以在此处找到有关如何发生这种情况以及一些方法(包括使用代码)的更多信息:http://weblogs.asp.net/dixin/archive/2009/03/14/understanding-the-internet-file-blocking-and-unblocking.aspx
关于c# - "This file came from another computer and might be blocked to protect this computer."- 如何以编程方式在 C# .net 中删除此属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22394418/