我一直在试图找到一种方法来更改 特定文件扩展名在Windows 7中的默认文件关联。我有一个应用程序,用于查看.tif 文件,我想提示用户,如果它不是该文件的默认查看器为 类型。如果他们选择将其设为默认,则我想要覆盖当前的默认查看器 。如果在 系统上没有安装其他查看器,这可以正常工作。当有已由用户选择的另一观众,我 不能改变的控制,这里的注册表项:有没有什么办法以编程方式设置“UserChoice”注册表项来接管文件类型关联?
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.tif\UserChoice
我已经冲刷网页试图找人已经这样做了,但没有人 似乎有任何答案。当我尝试更新此 密钥中的“Progid”值时,出现“无法写入注册表项”或“请求的注册表访问不允许”错误。该代码是很简单的:
var path = @"Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.tif\UserChoice";
var key = Registry.CurrentUser.OpenSubKey(path, true);
key.SetValue("Progid", "myprogid...");
是否有关于这个关键,防止它被 一些特殊的保护程序编辑?
您是否尝试过更新它,例如在您使用管理员权限运行的控制台应用程序中? – ChristiaanV 2011-05-31 17:29:05
这是一个桌面应用程序,作为我自己运行,但没有管理员权限。那是我的下一步。 – Jason 2011-06-01 18:30:56
以管理员身份运行并没有帮助。 – Jason 2011-06-01 18:43:22