Ce que je veux faire, c'est ouvrir un fichier .exe à partir d'un autre fichier .exe. Je ne sais vraiment pas comment faire cela, alors j'ai cherché sur Internet. J'ai essayé quelques méthodes suggérées sur Internet, mais cela n'a pas fonctionné.
Voici mon code:
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
system ("OpenFile.exe");
system ("pause");
return 0;
}
Lorsque je l'exécute dans DEV C++, il ne se compile pas et j'obtiens une erreur. Quelqu'un peut-il m'aider s'il vous plaît?
Vous devriez toujours éviter d'utiliser system()
car
Vous devriez utiliser CreateProcess () .
Vous pouvez utiliser Createprocess () pour simplement démarrer un fichier .exe et en créer un nouveau processus . L'application sera exécutée indépendamment de l'application appelante.
Voici un exemple que j'ai utilisé dans l'un de mes projets:
#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 );
}
EDIT: L'erreur que vous obtenez est parce que vous devez spécifier le chemin du fichier .exe et pas seulement le nom. Openfile.exe n'existe probablement pas.
J'ai eu beaucoup de succès avec ça:
#include <iostream>
#include <windows.h>
int main() {
ShellExecute(NULL, "open", "path\\to\\file.exe", NULL, NULL, SW_SHOWDEFAULT);
}
Si vous êtes intéressé, la documentation complète est ici:
http://msdn.Microsoft.com/en-us/library/bb762153(VS.85).aspx .
Essaye ça:
#include <windows.h>
int main ()
{
system ("start notepad.exe") // As an example. Change [notepad] to any executable file //
return 0 ;
}
Vous obtenez cette erreur parce que vous ne donnez pas le chemin complet. (C:\Utilisateurs ...\fichier.exe) Si vous souhaitez supprimer cette erreur, indiquez le chemin complet ou copiez cette application (que vous souhaitez ouvrir) dans le dossier où se trouve votre projet (.exe). /enregistré.
#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;
}
Indiquez le chemin complet du fichier 'openfile.exe' N'oubliez pas de placer une barre oblique '/' dans le chemin tel que C:/users/username/etc .... Au lieu de qui utilisent c:\Users\nom d'utilisateur\etc .__ (pour Windows)
Peut-être que cela vous aidera