gpt4 book ai didi

Windows 10 相当于 LaunchAdvancedAssociationUI

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

从 Windows 10 开始,IApplicationAssociationRegistrationUI::LaunchAdvancedAssociationUI method不再工作了。

在 Windows Vista、7 和 8 上,它会在指定应用程序的设置程序关联页面上打开控制面板。

在 Windows 10 上,它什么都不做。

它甚至记录在 Microsoft 文档中:

Starting in Windows 10, this does not launch the association dialog box. It displays a dialog to the user informing them that they can change the default programs used to open file extensions in their Settings

(即使声明的第二部分在当前版本的 Windows 10 中也不再正确)


实际上在最新版本的 Windows 10 中,该控制面板不再存在。它的功能已移至“设置”应用,位于应用 > 默认应用 > 按应用设置默认值 > [应用名称] 下。

enter image description here

有没有办法以编程方式在 Windows 10 设置应用程序中为我的应用程序打开按应用程序设置默认值屏幕?

或者是否有另一种建议应用程序允许其用户在 Windows 10 中自定义关联的方法?

最佳答案

  • 在控制面板中打开主默认程序窗口:

    %windir%\system32\control.exe/name Microsoft.DefaultPrograms

  • 打开设置默认程序页面:

    %windir%\system32\control.exe/name Microsoft.DefaultPrograms/page pageDefaultProgram

  • 打开为程序设置关联页面:

    %windir%\system32\control.exe/name Microsoft.DefaultPrograms/page pageDefaultProgram\pageAdvancedSettings?pszAppName=YourAppRegName

    YourAppRegName 是您在 HKEY_LOCAL_MACHINE 中注册的应用程序的名称( HKEY_CURRENT_USER )\SOFTWARE\RegisteredApplications 在使用前必须进行转义(使用 UrlEscape,Luke!)。例如:

    %windir%\system32\control.exe/name Microsoft.DefaultPrograms/page pageDefaultProgram\pageAdvancedSettings?pszAppName=Internet%20Explorer

  • 打开将文件类型或协议(protocol)与程序关联页面:

    %windir%\system32\control.exe/name Microsoft.DefaultPrograms/page pageFileAssoc

  • 打开更改自动播放设置页面:

    %windir%\system32\control.exe/name Microsoft.AutoPlay

  • 打开设置程序访问和计算机默认值页面:

    %windir%\system32\ComputerDefaults.exe

附言您也可以使用 IOpenControlPanel::Open改为打开控制面板项目/页面的方法:

IOpenControlPanel * OpenControlPanel;

HRESULT Result =
CoCreateInstance(CLSID_OpenControlPanel,
NULL, CLSCTX_INPROC, __uuidof(IOpenControlPanel), (void**)&OpenControlPanel);
if (SUCCEEDED(Result))
{
const wchar_t * Page = L"pageDefaultProgram\\pageAdvancedSettings?pszAppName=YourAppRegName";
OpenControlPanel->Open(L"Microsoft.DefaultPrograms", Page, NULL);
OpenControlPanel->Release();
}

关于Windows 10 相当于 LaunchAdvancedAssociationUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32178986/

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