2017-11-08 1 views
2

Gibt es eine Möglichkeit, den ausführbaren Namen/Pfad eines QProcess-Objekts herauszufinden? Inzwischen weiß ich nur, dass es QProcess :: pid() gibt, um einen Prozess zu identifizieren. Die Überprüfung des Qt Doc hat bisher noch zu keiner sinnvollen Lösung geführt.Abrufen des ausführbaren Namens eines QProcess in Qt/C++

Vielen Dank im Voraus!

Beispiel

int main() { 
    QProcess* p = new QProcess(this); 

    p->start("C:\\test.exe"); 

    func(p); 

    return 0; 
} 

void func (QProcess* p) 
{ 
     qDebug() << "The application name of the app with pid" << p->pid() << "is" << p->name(); // name() doesn't exist, that's where I need help 
} 
+0

Der Code in Ihre Hauptfunktion ist nicht gültig. Bitte poste ein [mcve]. – ekhumoro

+0

Es tut mir leid, ich schrieb es auf meinem Handy, während ich im Zug saß. Sollte jetzt besser sein. – taiBsu

+0

Es wurde bereits vorgeschlagen, dass Sie 'p.program()' verwenden. Was ergibt sich daraus und wie unterscheidet es sich von dem, was Sie erwartet haben? – ekhumoro

Antwort

2

Try program() Methode des QProcess Objekt, wie diese zu verwenden:

QProcess process(this); 
process.start("calc.exe"); 
qDebug() << process.program(); 
process.waitForFinished(); 
+0

Das Qt-Dokument sagt "Gibt das Programm zurück, mit dem der Prozess zuletzt gestartet wurde", was ich nicht haben möchte - Ich möchte den ausführbaren Namen oder Pfad des QProcess-Objekts erhalten, nicht den des Hauptprozessors. – taiBsu

+0

Bitte fügen Sie ein Beispiel hinzu, wie Sie QProcess verwendet haben und was Sie erwartet haben. – ramzes2

+0

Ich habe jetzt ein Beispiel hinzugefügt. – taiBsu

Verwandte Themen