*.exe datei vom Qt Prog starten

Alles rund um die Programmierung mit Qt
Antworten
joschika77
Beiträge: 45
Registriert: 19. Mai 2006 10:36
Wohnort: an der Ostsee

*.exe datei vom Qt Prog starten

Beitrag von joschika77 »

Hallo!
Ist es möglich eine exe Datei vom QT Code aus aufzurufen?Z.B beim ButtonClick oder so.Wer kann mir da helfen?

Mit ShellExecute hab ich es versucht zu starten.(Shell32.lib eingebunden)
Beim compelieren kommen viele Fehler bei der ShellAPI.h.Er verstehts wohl nicht.

So etwa
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(55) : error C2065: 'HDROP': nichtdeklarierter Bezeichner
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(55) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(57) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'DECLSPEC_IMPORT'
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(57) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(57) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'UINT'
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(57) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(57) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'STDAPICALLTYPE'
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(57) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(57) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'DragQueryFileA'
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(57) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(57) : error C2065: 'LPSTR': nichtdeklarierter Bezeichner
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(57) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(57) : error C2078: Zu viele Initialisierungen
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(58) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'DECLSPEC_IMPORT'
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(58) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(58) : error C2086: 'int EXTERN_C': Neudefinition
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(57): Siehe Deklaration von 'EXTERN_C'
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(58) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'UINT'
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(58) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(58) : error C2086: 'int DECLSPEC_IMPORT': Neudefinition
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(57): Siehe Deklaration von 'DECLSPEC_IMPORT'
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(58) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'STDAPICALLTYPE'
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(58) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(58) : error C2086: 'int UINT': Neudefinition
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(57): Siehe Deklaration von 'UINT'
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(58) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'DragQueryFileW'
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(58) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(58) : error C2086: 'int STDAPICALLTYPE': Neudefinition
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(57): Siehe Deklaration von 'STDAPICALLTYPE'
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(58) : error C2065: 'LPWSTR': nichtdeklarierter Bezeichner
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(58) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
C:\Programme\Microsoft Visual Studio 8\VC\PlatformSDK\include\shellapi.h(58) : error C2078: Zu viele Initialisierungen
MfG
Zuletzt geändert von joschika77 am 19. Mai 2006 11:26, insgesamt 1-mal geändert.
Wer Wind sät wird Sturm ernten!
DarkWotan
Beiträge: 65
Registriert: 18. Mai 2006 10:03

Beitrag von DarkWotan »

Ja, siehe QProcess.

MfG, Cedric
joschika77
Beiträge: 45
Registriert: 19. Mai 2006 10:36
Wohnort: an der Ostsee

Beitrag von joschika77 »

Ach so ich arbeite mit QT 4.1.2
Etwa so:

Code: Alles auswählen

#include <QProcess>

void EFbPrintSelection::on_pBPrint_clicked()
{
	QProcess *qp = new QProcess();	
	qp->execute("c:/Dokumente und Einstellungen/Administrator/Eigene              Dateien/VSProjects/FBMobile1.0/FBMobileCR1/FBMobileCR1.exe");	
}
Geht leider nicht!Oder hab ich da was falsch verstanden?

MfG
Wer Wind sät wird Sturm ernten!
joschika77
Beiträge: 45
Registriert: 19. Mai 2006 10:36
Wohnort: an der Ostsee

Beitrag von joschika77 »

So gehts:

Beide *.exe Dateien müssen am selben Platz sein.

Code: Alles auswählen

#include <QProcess>

void EFbPrintSelection::on_pBPrint_clicked()
{
   QProcess *qp = new QProcess();   
   qp->execute("Test.exe");   
}
Wer Wind sät wird Sturm ernten!
Antworten