Wie kann ich aus einem Gnome Programm ein externes Programm oder einen synchronen oder asynchronen Prozess aufrufen, das kann ein anderes GUI Programm sein oder eine Befehlsfolge auf der Konsole wie mpg123 Streamadresse
Hier ein Codebeispiel:
Code: Alles auswählen
// Programm : prozess.c
// gcc -o prozess prozess.c `pkg-config --cflags --libs gtk+-2.0`
#include <gtk/gtk.h>
#include <stdlib.h>
void button_geklickt(GtkWidget *button_widget, gpointer data) {
// system ("mpg123 http://ndrstream.ic.llnwd.net/stream/ndrstream_ndr1niedersachsen_hi_mp3");
system ("gftp");
}
int main (int argc, char *argv[]) {
gtk_init(&argc, &argv);
GtkWidget *window;
GtkWidget *button;
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window), "Externes Programm aufrufen");
gtk_container_set_border_width(GTK_CONTAINER(window), 10);
g_signal_connect_swapped(G_OBJECT(window), "destroy", G_CALLBACK (gtk_main_quit), NULL);
button = gtk_button_new_with_label("Gftp");
g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(button_geklickt), NULL);
gtk_widget_show(button);
gtk_container_add(GTK_CONTAINER(window), button);
gtk_widget_show(window);
gtk_main();
return 0;
}
#include <stdlib.h>
mit System("xxx xxxx") funktioniert, habe ich bereits ausprobiert, aber ist das der richtige Weg?
Geht es besser oder gibt es Alternativen, die mir bis jetzt nicht geläufig und entgangen sind?
Für eine Hilfestellung wäre ich sehr dankbar.