gpt4 book ai didi

winapi - Windows Vista、默认程序 API、文件格式关联和(卸载)安装程序 - 爆炸性组合!

转载 作者:行者123 更新时间:2023-12-01 05:45:43 24 4
gpt4 key购买 nike

我的应用程序是一个表现良好的 Windows 公民,所以当我将它移植到 Windows Vista/7 时,我将自定义文件格式关联代码替换为对 Default Programs 的支持。 API。然而,当我尝试为我的应用程序制作卸载程序时遇到了一个问题 - 似乎没有办法 删除 通过默认程序 API 进行文件格式关联。

我试图调用 IApplicationAssociationRegistration::ClearUserAssociations 但它实际上删除了所有关联,包括其他应用程序的关联 - 完全恢复操作系统的默认状态(这当然是 Not Acceptable )。

我尝试调用IApplicationAssociationRegistration::SetAppAsDefault将文件格式关联返回给以前的“所有者”-但这没有帮助,因为我的应用程序处理了许多操作系统不支持的独特文件格式,并且没有以前的“所有者”。并且 Windows 不允许将空字符串传递给 SetAppAsDefault...

那我该怎么办?有什么好的解决办法吗?

最佳答案

我认为您以错误的方式使用默认程序 API。如果我理解正确,Microsoft 添加了默认程序功能,因为法律要求将 Internet Explorer 替换为默认浏览器。它提供了不同于应用程序使用的普通文件关联的另一组功能。如果您只有一个简单的文件关联来注册,我建议您坚持旧的行为。

来自 MSDN:Default Programs (Windows) :
默认程序 主要是为使用标准文件类型(如 .mp3 或 .jpg 文件)或标准协议(protocol)(如 HTTP 或 mailto)的应用程序设计的。使用自己的专有协议(protocol)和文件关联的应用程序通常不使用 默认程序 功能。

关于winapi - Windows Vista、默认程序 API、文件格式关联和(卸载)安装程序 - 爆炸性组合!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2501807/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com