11. September 200224 j Hallo Leute, kennt jemand von euch ein C++ API mit dem ich eine EXE Datein starten kann ? Ich muss beim Start einen Parameter an die EXE übergeben können. Weis jemand von euch wo ich da nachschauen kann?? Kann mir jemand den Namen von einem solchen API sagen ??
11. September 200224 j Kannst du mir vielleicht ein Code beispiel geben?? Mit den Beispielen von Microsoft komme ich überhaupt nicht klar.
11. September 200224 j Oder schau doch einmal unter system(). Damit kannst Du einen ganz normalen DOS-Befehl abgeben und somit eine externe *.exe starten. Bsp.: system("Dir");
11. September 200224 j Ich versuche nach möglichkeit DOS Befehle zu vermeiden, da das Programm auf Win2000 leuft und dort Dos nur Emuliert ist. Trotzdem Danke
12. September 200224 j Ich versuchs mal: // parameter HWND hwnd = NULL; LPCTSTR lpVerb = "open"; // zum öffnen von Dateien, gibt auch print LPCTSTR lpFile = "test.exe"; // kann auch absoluter pfad sein (c:\test.exe) LPCTSTR lpParameters = "-c Uebergabe"; // die Parameter für das Proggi (kann auch NULL sein) LPCTSTR lpDirectory = "."; // arbeitsverzeichnis des zu startenden Proggis INT nShowCmd = SW_SHOWNORMAL; // Anzeigemodus ShellExecute(hwnd, lpVerb, lpFile, lpParameters, lpDirectory, nShowCmd);
12. September 200224 j hhmm. Schoneinmal DAnke, ich werde es vesuchen. Gibt es auch eine Möglichkeit DLL´s direkt aufzurufen ??
12. September 200224 j Oder versuchs mal mit CreateProcess. Die Funktion ist die WINAPI Funktion um andere Programme zu starten.
12. September 200224 j Was meinst du genau mit "DLLs direkt aufrufen"? Wenn du du Sie in deinem Programm während der Laufzeit einbinden willst, kannst du das mit der Funktion LoadLibrary. Gruß wasweißich
12. September 200224 j Original geschrieben von Taffboy Gibt es auch eine Möglichkeit DLL´s direkt aufzurufen ?? DLLs sind nicht eigenständig ausführbar, weil sie kein main-Symbol enthalten. Man kann einzelne Funktionen einer DLL aufrufen, mit LoadLibrary und GetProcAddress. Ein Bespiel dazu gibt es z.B. hier.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.