栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将文件扩展名与应用程序关联

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将文件扩展名与应用程序关联

答案比我预期的要简单得多。Windows资源管理器具有自己的“打开方式”应用程序替代,并且我试图在代码的最后几行中对其进行修改。如果仅删除资源管理器替代,则文件关联将起作用。

我还告诉资源管理器,我通过调用非托管函数更改了文件关联

SHChangeNotify()

public static void SetAssociation(string Extension, string KeyName, string OpenWith, string FileDescription){    // The stuff that was above here is basically the same    // Delete the key instead of trying to change it    CurrentUser = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\" + Extension, true);    CurrentUser.DeleteSubKey("UserChoice", false);    CurrentUser.Close();    // Tell explorer the file association has been changed    SHChangeNotify(0x08000000, 0x0000, IntPtr.Zero, IntPtr.Zero);}[Dllimport("shell32.dll", CharSet = CharSet.Auto, SetLastError = true)]public static extern void SHChangeNotify(uint wEventId, uint uFlags, IntPtr dwItem1, IntPtr dwItem2);


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/506865.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号