c++ - 将应用程序快捷方式拖放到 qt 应用程序 (Windows)
问题描述
我目前正在尝试获取有关放入我的 Qt 应用程序的应用程序的更多信息。以下是有关该场景的一些信息:
- 应用程序从开始菜单中拖动
- 该应用是来自商店的 Windows UWP 应用
- 我希望以后能够启动丢弃的应用程序
我正在正确接收 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 。现在我被困在那里,文档有点......备用。
是否有人为我提供信息/指导,如何检索我想要的数据?
解决方案
推荐阅读
- javascript - 使用 nodejs 更改系统/操作系统时间
- python - s2s,自动编码器/RNN/LSTM,用于模拟鼠标移动
- apache-spark - How to change the name of Spark application after it is started?
- scala - Heroku:与 application.prod.conf 键相关的配置错误是什么?
- android - 有什么方法可以在不打开短信应用程序的情况下从 EXPO 发送短信?
- maven - Groovy 扩展模块 + Maven 组装插件(fat jar)
- firebase - Firebase 云功能只能从“后端”调用
- c++ - 为什么我的字体编码不起作用,尽管设置了“setlocale(LC_ALL, “Turkish”);”?
- gradle - Intellij Gradle 禁用离线模式
- sql - 如何从表中仅选择顶部和底部行