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