我需要使用gtk和C打开用户系统的默认文件管理器(不是对话框,而是系统使用的文件管理器).
这意味着,当用户选择目录时,文件管理器将打开而不是对话框.有没有办法实现这个目标?
你应该使用GIO:
GError *error = NULL;
if (!g_app_info_launch_default_for_uri ("file:///", NULL, &error)) {
g_warning ("Failed to open uri: %s", error->message);
}
Run Code Online (Sandbox Code Playgroud)
请注意,这几乎肯定需要运行GLib主循环(但如果您使用的是GTK +,那么您已经拥有了它).
此外,没有100%保证文件管理器将被打开,但是在任何一个安全的设置系统上,它将成为目录的uris的默认处理程序.
在普通的GNOME系统@keltars xdg-open方法分支上,运行一个shell脚本,启动一个二进制文件,然后运行相同的g_app_info_launch_default_for_uri()函数.