Ich möchte eine .exe von einer anderen .exe öffnen. Ich weiß wirklich nicht, wie ich das machen soll, also durchsuchte ich das Internet. Ich habe einige vorgeschlagene Methoden aus dem Internet ausprobiert, aber es hat nicht funktioniert.
Hier ist mein Code:
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
system ("OpenFile.exe");
system ("pause");
return 0;
}
Wenn ich es in DEV C++ starte, wird es nicht kompiliert und ich erhalte eine Fehlermeldung. Kann mir bitte jemand helfen?
Sie sollten system()
immer deshalb vermeiden, weil
Sie sollten CreateProcess () verwenden.
Sie können Createprocess () verwenden, um eine .exe-Datei zu starten und einen neuen Prozess für sie zu erstellen .. Die Anwendung wird unabhängig von der aufrufenden Anwendung ausgeführt.
Hier ist ein Beispiel, das ich in einem meiner Projekte verwendet habe:
#include <windows.h>
VOID startup(LPCTSTR lpApplicationName)
{
// additional information
STARTUPINFO si;
PROCESS_INFORMATION pi;
// set the size of the structures
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
// start the program up
CreateProcess( lpApplicationName, // the path
argv[1], // Command line
NULL, // Process handle not inheritable
NULL, // Thread handle not inheritable
FALSE, // Set handle inheritance to FALSE
0, // No creation flags
NULL, // Use parent's environment block
NULL, // Use parent's starting directory
&si, // Pointer to STARTUPINFO structure
&pi // Pointer to PROCESS_INFORMATION structure (removed extra parentheses)
);
// Close process and thread handles.
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
}
BEARBEITEN: Der Fehler, den Sie erhalten, ist, dass Sie den Pfad der EXE-Datei angeben müssen, nicht nur den Namen. Openfile.exe existiert wahrscheinlich nicht.
Ich habe großen Erfolg damit gehabt:
#include <iostream>
#include <windows.h>
int main() {
ShellExecute(NULL, "open", "path\\to\\file.exe", NULL, NULL, SW_SHOWDEFAULT);
}
Wenn Sie interessiert sind, finden Sie die vollständige Dokumentation hier:
http://msdn.Microsoft.com/de-de/library/bb762153(VS.85).aspx .
Versuche dies:
#include <windows.h>
int main ()
{
system ("start notepad.exe") // As an example. Change [notepad] to any executable file //
return 0 ;
}
Sie erhalten diese Fehlermeldung, weil Sie nicht den vollständigen Pfad angeben. (C:\Users ...\file.exe) Wenn Sie diesen Fehler beheben möchten, geben Sie entweder den vollständigen Pfad an oder kopieren Sie die Anwendung (die Sie öffnen möchten) in den Ordner, in dem sich Ihr Projekt (.exe) befindet /Gerettet.
#include <windows.h>
using namespace std;
int main()
{
system ("start C:\\Users\\Folder\\chrome.exe https://www.stackoverflow.com"); //for opening stackoverflow through google chrome , if chorme.exe is in that folder..
return 0;
}
wenn der ausführbare Pfad Leerzeichen im Systemaufruf enthält!
#include<iostream>
using namespace std;
main()
{
system("Explorer C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe ");
system("pause");
}
Geben Sie den vollständigen Pfad der Datei 'openfile.exe' An und denken Sie daran, den Schrägstrich '/' im Pfad nicht anzugeben, z Verwenden Sie c:\Users\Benutzername\etc (für Windows)
Vielleicht hilft dir das