Seite 1 von 1
Programm über Qt öffnen und Task wechseln?
Verfasst: 4. November 2008 15:24
von grid
Hallo.
Gibt es in Qt eine einfache Möglichkeit ein Programm, beispielsweise Windows-Paint, über C++ zu öffnen?
Kleiner Haken bei der Sache:
Wenn bereits eine Instanz dieses Programms läuft soll nur zum entsprechenden Task gewechselt werden ^^
beste Grüße
Re: Programm über Qt öffnen und Task wechseln?
Verfasst: 4. November 2008 15:59
von macman
grid hat geschrieben:Gibt es in Qt eine einfache Möglichkeit ein Programm, beispielsweise Windows-Paint, über C++ zu öffnen?
QProcess
grid hat geschrieben:Wenn bereits eine Instanz dieses Programms läuft soll nur zum entsprechenden Task gewechselt werden
Wenn das Programm das nicht von selbst macht, dann bleibt nur ein systemabhängiger Weg. Mit Qt gibt es da nichts.
Re: Programm über Qt öffnen und Task wechseln?
Verfasst: 4. November 2008 17:03
von grid
macman hat geschrieben:grid hat geschrieben:Gibt es in Qt eine einfache Möglichkeit ein Programm, beispielsweise Windows-Paint, über C++ zu öffnen?
QProcess
grid hat geschrieben:Wenn bereits eine Instanz dieses Programms läuft soll nur zum entsprechenden Task gewechselt werden
Wenn das Programm das nicht von selbst macht, dann bleibt nur ein systemabhängiger Weg. Mit Qt gibt es da nichts.
...vielen Dank.
Hmmm... ja mal schauen wieviele Programme dies von alleine tun... der FireFox macht's schonmal nicht^^
Verfasst: 4. November 2008 17:32
von upsala
Das hat normalerweise jede Anwendung von sich aus zu verwalten.
Verfasst: 5. November 2008 07:08
von macman
upsala hat geschrieben:Das hat normalerweise jede Anwendung von sich aus zu verwalten.
Naja, auf nem Mac musst Du schon Klimmzüge anstellen, um an eine zweite Instanz eines Programms zu bekommen. Da stellt sich das BS quer

Verfasst: 6. November 2008 13:55
von grid
Hallo...
so ich hab jetzt mehrere Varianten ausprobiert, leider ohne Erfolg. Was mache ich denn hier falsch?
Code: Alles auswählen
QProcess::execute("C:\\Program Files\\Mozilla Firefox\\firefox.exe");
danke.
Verfasst: 6. November 2008 14:11
von grid
grid hat geschrieben:Hallo...
so ich hab jetzt mehrere Varianten ausprobiert, leider ohne Erfolg. Was mache ich denn hier falsch?
Code: Alles auswählen
QProcess::execute("C:\\Program Files\\Mozilla Firefox\\firefox.exe");
danke.
ups...ok ich habs^^
Mann muss natürlich das ganze noch in "..." stecken, weils Leerzeichen beinhaltet.
Code: Alles auswählen
QProcess::execute(""C:\\Program Files\\Mozilla Firefox\\firefox.exe"");
Verfasst: 6. November 2008 14:19
von macman
Man beachte aber den kleinen Unterschied zwischen QProcess::execute und QProcess::startDetached. Mir scheint als hättest Du den ignoriert, bzw. nicht wahr genommen.
Verfasst: 6. November 2008 20:26
von grid
macman hat geschrieben:Man beachte aber den kleinen Unterschied zwischen QProcess::execute und QProcess::startDetached. Mir scheint als hättest Du den ignoriert, bzw. nicht wahr genommen.
Vielen Dank, diese Methode ist mir wirklich nicht aufgefallen.