Seite 1 von 1

*.exe datei vom Qt Prog starten

Verfasst: 19. Mai 2006 11:00
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

Verfasst: 19. Mai 2006 11:24
von DarkWotan
Ja, siehe QProcess.

MfG, Cedric

Verfasst: 19. Mai 2006 11:41
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

Verfasst: 19. Mai 2006 12:41
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");   
}