关于 QQ 中点击文件后选择文件打开方式该如何去实现?

2020-03-27 13:03:11 +08:00
 SystemLight

QQ 中点击文件可以选择其他打开方式,从而跳转到其它软件中打开,这个实现的思路有没有大佬知道,简单说一下哈!

1202 次点击
所在节点    程序员
3 条回复
geelaw
2020-03-27 13:18:46 +08:00
如果你是说 Windows 上为一个文件执行 打开方式 > 选择一个程序 的话,可以用 ShellExecuteEx,传入 SEE_MASK_INVOKEIDLIST 并设置 lpVerb 为 L"openas"。

如果你想用默认文件关联打开一个文件,可以 ShellExecute 这个文件。

如果你想查询文件关联,可以用 IQueryAssociations 。

更多资料见
https://docs.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shellexecuteexw
https://docs.microsoft.com/en-us/windows/win32/api/shlwapi/nn-shlwapi-iqueryassociations
https://geelaw.blog/entries/windows-fileassoc-walkthru/#consume-fileassoc
SystemLight
2020-03-27 15:34:17 +08:00
@geelaw 很有启发,不过我先实现的是安卓的调用,已经找到方法了,感谢
SystemLight
2020-03-27 15:35:31 +08:00
实际上调用包名 android.intent.action.VIEW 就可以让文件被选择打开方式的程序捕获,进而选择文件打开方式
其它常用包名参考这篇文章
https://blog.csdn.net/u010687392/article/details/43899133

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/656747

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX