gpt4 book ai didi

c++ - 如何在 Windows 8 中设置关联?

转载 作者:可可西里 更新时间:2023-11-01 10:26:10 27 4
gpt4 key购买 nike

我需要帮助。我想在 Windows 8 中正确设置关联文件。我有一个用 MFC C++ 编写的程序。它是 .txt 查看器。我尝试为当前用户关联文件。我为我的应用程序创建了安装程序,我可以将我的应用程序设置为默认应用程序,但它在 Windows 8 中不起作用。

需要用什么?谢谢。

最佳答案

在 Windows 8 中只有一种方法可以做到这一点。您应该将您的应用程序添加到默认应用程序。然后使用默认程序要求用户设置关联。不确定现在无法使用注册表编辑的旧方法。在 Windows 8 中,已将 Hash 变量添加到 UserChoice 注册表项。它对用户和应用程序来说是独一无二的。如果它是错误的 YourAppName 默认情况下不会启动,但 Windows 8 会要求选择应用程序。

关于如何将应用程序添加到默认程序的简短说明。完整指南http://msdn.microsoft.com/en-us/library/windows/desktop/cc144154%28v=vs.85%29.aspx添加到注册表

key: "HKLM\Software\RegisteredApplications" name: "YourAppName" value: "Sofware\YouCompany\YourAppName\Capabilities"
key: "HKLM\Sofware\YouCompany\YourAppName\Capabilities" name: "ApplicationDescription" value: "just a description"
key: "HKLM\Sofware\YouCompany\YourAppName\Capabilities" name: "ApplicationName" value: "YourAppName"
key: "HKLM\Sofware\YouCompany\YourAppName\Capabilities\FileAssociations" name: ".txt" value: "Progid.txt"

现在 YourAppName 添加到默认程序

需要调用与应用程序文件关联的对话框。它可以通过 IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUI 完成 http://msdn.microsoft.com/en-us/library/windows/desktop/bb776329%28v=vs.85%29.aspx

    IApplicationAssociationRegistrationUI *applicationAssociationRegistrationUI = 0;

CoCreateInstance(CLSID_ApplicationAssociationRegistrationUI,
0,
CLSCTX_INPROC_SERVER,
IID_IApplicationAssociationRegistrationUI,
(LPVOID*)&applicationAssociationRegistrationUI);

if (applicationAssociationRegistrationUI)
applicationAssociationRegistrationUI->LaunchAdvancedAssociationUI(L"YourAppName");

关于c++ - 如何在 Windows 8 中设置关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17428996/

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