如何获取与某个扩展相关联的程序列表

How to get list of programs associated with a certain extension?

本文关键字:扩展 关联 列表 程序 何获取 获取      更新时间:2023-10-16

例如,对于.png,我希望接收mspaintoischrome(这些是可以在我的Windows机器上查看png文件的程序)。

当然总有

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.png\OpenWithList

但我正在寻找一种跨平台的方式来做到这一点。

根据这个线程,没有跨平台的方式。但是您可以使用一些特定于平台的方式来执行类似操作。例如,您可以在 OS X 上使用 open 命令,或者对 Linux 使用 xdg-open(如此处所述)。看起来你已经知道如何在Windows上做到这一点,这很好,因为我不知道。

例如:

#ifdef __APPLE__
void open_image(){
    system("open someimage.png");
}
#endif