.net - 谁应该负责执行文件关联?

标签 .net

当程序启动时,我目前正在执行文件关联。然而,这需要提升访问权限,并且由于我正在关联脚本文件,我觉得我做错了什么可能会危及用户的安全。进行文件关联的正确方法是什么?通过设置?通过程序?如果是后者,如何防止恶意脚本通过程序执行?

最佳答案

您可以注册不需要提升的每用户关联。
系统范围的关联通常在安装程序中注册。

系统范围的关联存储在 HKLM\Software\Classes 中.
每个用户的关联存储在 HKCU\Software\Classes 中.

前者只能由管理员写入,后者通常可由用户写入¹。

这些键的内容合并为HKEY_CLASSES_ROOT .

¹ 在某种程度上,默认程序是这样工作的:当您更改默认设置时,只会更改每个用户的关联,以便不同的用户可以使用不同的应用程序打开文件。

如需更多信息,请参阅 File Types and File AssociationsDefault Programs .

关于.net - 谁应该负责执行文件关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39994241/

相关文章:

c# - 随机数在不同进程中与相同的 .Net 代码发生冲突

c# - 如何修改列表属性而不影响同类型的其他列表属性?

c# - EventSchemaTraceListener 的某些属性无法识别 app.config

C# 窗口可见性、折叠和隐藏

c# - WPF 窗口中的图像在通过反射启动时抛出异常

c# - ASP.NET ListView 数据源是字符串[]

c# - 一个对象能够将自己保存到数据库中是否会破坏类的凝聚力?

.net - 从字符串中提取数字的正则表达式

c# - 响应式扩展 - 以同步方式刷新 Subject/IObservable

c# - 如何在运行时在 .net 中向对象添加属性?