是否可以使用 IUIFramework::LoadUI 加载已编译的标记文件?

Is it possible to use IUIFramework::LoadUI to load a compiled markup file?

此函数的 documentation 为:

加载Windows功能区框架UI资源,或编译标记,文件。

我有编译好的 .bml 文件(通过 uicc.exe)。但是,我不知道在调用 LoadUI.

时要为 instanceresourceName 传递什么参数

As documented,将IUIFramework::LoadUI call can in fact load a compiled, binary markup file. This file must be linked as a user-defined resource转化为二进制图像,通过instance参数进行识别。 resourceName 是此资源的名称。默认情况下,UUIC.exe 分配名称 "APPLICATION_RIBBON".

假设标准 UUIC.exe invocation

UICC.exe RibbonMarkup.xml RibbonMarkup.bml /header:RibbonIds.h /res:RibbonUI.rc

这会生成一个资源脚本文件 RibbonUI.rc,其中包含以下行

APPLICATION_RIBBON UIFILE "RibbonMarkup.bml"

这是将已编译的二进制标记文件添加到可执行映像中的资源脚本文件。 "APPLICATION_RIBBON" 是资源的名称,您可以将其更改为您认为合适的任何名称(只要它不与 UIFILE 类型的其他用户定义资源冲突即可).

可以在 Creating a Ribbon Application 找到完整的指南。