首页 > 解决方案 > 将应用程序快捷方式拖放到 qt 应用程序 (Windows)

问题描述

我目前正在尝试获取有关放入我的 Qt 应用程序的应用程序的更多信息。以下是有关该场景的一些信息:

我正在正确接收 MIME 数据,它具有以下格式:

"application/x-qt-windows-mime;value=\"Shell IDList Array\""
"text/uri-list"
"application/x-qt-windows-mime;value=\"FileContents\""
"application/x-qt-windows-mime;value=\"FileGroupDescriptorW\""
"application/x-qt-windows-mime;value=\"Preferred DropEffect\""

是空的text/uri-list,因为它是 UWP 应用程序并且没有传统路径。从FileGroupDescriptorW我可以检索应用程序名称,但对我来说没有什么感兴趣的 atm。

我检索并打印了Shell IDList Array信息。它看起来像这样: 在此处输入图像描述

为了启动 UWP 应用程序,我需要它们的包名称 ( VideoLAN.VLC_paz6r1rewnh0a) 和应用程序 ID ( App)。它最终像这样连接VideoLAN.VLC_paz6r1rewnh0a!App

我可以看到里面的数据Shell IDList Array,但我不知道如何检索它们。

通过 Shell 命令,我可以获取应用程序的IShellItem并获取它的显示名称(例如)。为此,我将数据重新解释为CIDA ,并使用SHCreateShellItemArrayFromIDLists从中创建了一个 IShellItem 。现在我被困在那里,文档有点......备用。

是否有人为我提供信息/指导,如何检索我想要的数据?

标签: c++windowsqtuwpwindows-shell

解决方案


推荐阅读