Archiv verlassen und diese Seite im Standarddesign anzeigen : VS .NET 2003 Frage
Moin zusammen !
Mein Onkel hat mir sein VS ausgeliehen und ich bin grad dabei, mir mit dem C++ "Windows Forms" Designer eine Oberfläche zu basteln, von der aus ich durch drücken verschiedener Knöpfe die .exe Dateien verschiedener Programme (Winamp usw.) starten kann oder testweise erstmal ne simple text oder word Datei. Die Oberfläche und die Buttons hab ich bereits fertig, nun fehlt mir nur noch der Code zum Ausführen bzw. Aufrufen der .exe Dateien.
Ich hab mich schon halb tot-gegoogelt aber bin nicht wirklich schlauer geworden, nur von irgendner "shell" hab ich was gelesen.
Ich muss noch erwähnen, dass ich im Prinzip keinen Plan von C/C++ Programmierung habe, ich wollte einfach mal für mich etwas mit dem Visual Studio rumspielen.
Dann würde ich dir empfehlen das ganze lieber mit C# zu machen.
Falls du es mit C++ machen willst brauchst du CreateProcess aus der WinAPI.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/createprocess.asp
Ich würde das ganze aber gerne in C++ lösen oder ist das wirklich so umständlich ?
Windows Forms gehen nur mit managed code und dafür ist C++ .NET nun wirklich nicht die beste Wahl, weil die Syntax absolut grausam ist. Mit C++/CLI in VC++ 2005 würde es noch halbwegs human gehen.
grakaman
2006-03-06, 11:15:21
Hier die .NET Process Klasse:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdiagnosticsprocessclassstarttopic.asp
Danke schön, das hat mir doch prompt weitergeholfen :)
Es ist total simpel, man kann einfach das hier einfügen:
Process::Start(S"firefox.exe"); und schon klappt's
Davor muss man noch
#using <mscorlib.dll>
#using <System.dll>
einbinden und
using namespace System::Diagnostics;
Ob man jetzt alle drei oder nur einzelne braucht weiß ich nicht, auf jedenfall geht's jetzt...
Hmm, jetzt steh ich vor nem neuen Problem. Firefox, Mediaplayer oder IExplorer lassen sich wunderbar damit starten.
Will ich jetzt aber andere Programme auf diese Weise starten (z.b. Blobby Volley :D oder so), kommt immer ne Fehlermeldung "Eine nicht behandelte Ausnahme des Typs 'System.ComponentModel.Win32Exception' ist in system.dll aufgetreten.
Zusätzliche Informationen: The system cannot find the file specified"
Hat jemand ne Idee ? :)
Gnafoo
2006-03-07, 15:01:05
Der Dateiname des Programmes, das du starten willst scheint nicht zu stimmen. Zumindest kann — wenn ich das hier richtig interpretiere — die Programmdatei nicht gefunden werden. Hast du eventuell ähnlich wie oben bei deinem Beispiel zum Firefox nur den Namen der exe-Datei angegeben, aber den entsprechenden Pfad nicht in der Path-Umgebungsvariablen? Dann solltest du es mal mit der vollständigen Pfadangabe der exe-Datei probieren.
Der Dateiname des Programmes, das du starten willst scheint nicht zu stimmen. Zumindest kann — wenn ich das hier richtig interpretiere — die Programmdatei nicht gefunden werden. Hast du eventuell ähnlich wie oben bei deinem Beispiel zum Firefox nur den Namen der exe-Datei angegeben, aber den entsprechenden Pfad nicht in der Path-Umgebungsvariablen? Dann solltest du es mal mit der vollständigen Pfadangabe der exe-Datei probieren.
Doch, den Pfad hab ich mit angegeben. Bei Firefox z.b. geht es sowohl mit als auch ohne Pfad.
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.