ich möchte aus meinem qt programm, mit einem pushbutton, die eingabeaufforderung öffnen. ist es möglich das zu realisieren oder gibt es von windows her probleme! die anderen ausführbaren programme (vlc, mozilla, ...) lassen sich ohne probleme öffnen.
thx
Eingabeaufforderung öffnen
-
Christian81
- Beiträge: 7319
- Registriert: 26. August 2004 14:11
- Wohnort: Bremen
- Kontaktdaten:
ich habe in meiner funktion den pfad zu der cmd.exe angegeben. dann versuche ich es mit
zu starten.
also über nen button, den ich in meinem mainwindow anklicke, dann sollte er das cmd fenster öffnen. aber es passiert einfach gar nix!
Code: Alles auswählen
Qstring pfad ="C:\\WINDOWS\\system32\\cmd.exe";
QProcess *prozess = new QProcess();
prozess -> start (pfad);also über nen button, den ich in meinem mainwindow anklicke, dann sollte er das cmd fenster öffnen. aber es passiert einfach gar nix!
hier ein Weg...
// Beispiel mit QProcess::startDetached()
// siehe auch Beispiel mit QDesktopServices::openUrl()
#include <QtGui>
class MyQPushButton : public QPushButton
{
public :
MyQPushButton(const QString& text,const QString& exe, QWidget* parent= 0): QPushButton(text, parent), m_exe(exe)
{
resize(75, 30);
setFont(QFont("Times", 18, QFont::Bold));
}
virtual void mouseReleaseEvent(QMouseEvent* event)
{
QProcess::startDetached(m_exe);
}
private :
QString m_exe;
};
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
QWidget w;
MyQPushButton bouton1("www.messe-stuttgart.de", "cmd /c start http://www.messe-stuttgart.de/", &w); //siehe auch Lösung mit QDesktopServices::openUrl()
MyQPushButton bouton2("Notepad starten", "notepad", &w);
MyQPushButton bouton3("DOS starten", "cmd", &w);
QVBoxLayout vl(&w);
vl.addWidget(&bouton1);
vl.addWidget(&bouton2);
vl.addWidget(&bouton3);
w.show();
return app.exec();
}
// Beispiel mit QProcess::startDetached()
// siehe auch Beispiel mit QDesktopServices::openUrl()
#include <QtGui>
class MyQPushButton : public QPushButton
{
public :
MyQPushButton(const QString& text,const QString& exe, QWidget* parent= 0): QPushButton(text, parent), m_exe(exe)
{
resize(75, 30);
setFont(QFont("Times", 18, QFont::Bold));
}
virtual void mouseReleaseEvent(QMouseEvent* event)
{
QProcess::startDetached(m_exe);
}
private :
QString m_exe;
};
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
QWidget w;
MyQPushButton bouton1("www.messe-stuttgart.de", "cmd /c start http://www.messe-stuttgart.de/", &w); //siehe auch Lösung mit QDesktopServices::openUrl()
MyQPushButton bouton2("Notepad starten", "notepad", &w);
MyQPushButton bouton3("DOS starten", "cmd", &w);
QVBoxLayout vl(&w);
vl.addWidget(&bouton1);
vl.addWidget(&bouton2);
vl.addWidget(&bouton3);
w.show();
return app.exec();
}