WinExec |
kernel32.dll | Exécution dans une fenêtre |
---|---|---|
Syntaxe
UINT WinExec( LPCSTR lpszCmdLine, UINT fuCmdShow ); |
Paramètres
Nom | Description | ||
---|---|---|---|
lpszCmdLine | Ce paramètre permet d'indiquer la ligne de commande a exécuter. | ||
fuCmdShow | Ce paramètre permet d'indiquer les options d'affichages : | ||
Constante | Valeur | Description | |
SW_FORCEMINIMIZE | 11 | Cette constante permet d'indiquer qu'il faut forcer la minimisation de la fenêtre lors du lancement de la commande. | |
SW_HIDE | 0 | Cette constante permet d'indiquer qu'il faut cacher la fenêtre lors du lancement de la commande. | |
SW_MAXIMIZE | 3 | Cette constante permet d'indiquer qu'il faut maximiser la fenêtre lors du lancement de la commande. | |
SW_MINIMIZE | 6 | Cette constante permet d'indiquer qu'il faut minimiser la fenêtre lors du lancement de la commande. | |
SW_RESTORE | 9 | Cette constante permet d'indiquer qu'il faut activer et afficher la fenêtre lors du lancement de la commande. | |
SW_SHOW | 5 | Cette constante permet d'indiquer qu'il faut activer la fenêtre et l'afficher avec la position courante et la taille courante. | |
SW_SHOWDEFAULT | 10 | Cette constante permet d'indiquer qu'il faut fixer l'état d'affichage basé sur la valeur «SW_» spécifié dans la structure «STARTUPINFO» passé dans la fonction CreateProcessA ou CreateProcessW. | |
SW_SHOWMAXIMIZED | 3 | Cette constante permet d'indiquer qu'il faut maximiser la fenêtre lors du lancement de la commande. | |
SW_SHOWMINIMIZED | 2 | Cette constante permet d'indiquer qu'il faut minimiser la fenêtre lors du lancement de la commande. | |
SW_SHOWMINNOACTIVE | 7 | Cette constante permet d'indiquer qu'il afficher la fenêtre dans une fenêtre minimiser. | |
SW_SHOWNA | 8 | Cette constante permet d'indiquer qu'il afficher la fenêtre avec la taille et la position courante. | |
SW_SHOWNOACTIVATE | 4 | Cette constante permet d'indiquer qu'il afficher une fenêtre avec la taille et la position la plus récente. | |
SW_SHOWNORMAL | 1 | Cette constante permet d'indiquer qu'il faut activer et afficher une fenêtre. |
Retour
Valeur | Constante | Description |
---|---|---|
0 | Cette valeur permet d'indiquer que la fonction manque de mémoire pour l'exécuter. | |
ERROR_BAD_FORMAT | Cette valeur permet d'indiquer que le format de l'exécutable est invalide. | |
ERROR_FILE_NOT_FOUND | Cette valeur permet d'indiquer que le fichier spécifié est introuvable. | |
ERROR_PATH_NOT_FOUND | Cette valeur permet d'indiquer que le chemin spécifié est introuvable. |
Description
Cette fonction permet de lancer l'exécution d'un programme externe.
Remarques
- La modification du paramètre «fuCmdShow» (option d'affichage) peut être effectué par la fonction ShowWindow.
- Si vous programmez pour le système d'exploitation OS/2 ou eComStation, vous devriez plutôt envisager d'utiliser la fonction d'API «DosStartSession» ou l'interruption 21h, Fonction 64h: OS/2 API DOS32StartSession.
- Si vous programmez en Turbo Pascal, vous devriez vous interesser à la procédure «EXEC».
- Si vous programmez en Free Pascal, vous devriez vous interesser à la procédure «EXEC».
- Si vous programmez en C, vous devriez vous interesser à la fonction «SYSTEM».
- Si vous programmez en C, vous devriez vous interesser à la fonction «SYSTEM».
- Si vous programmez en Perl, vous devriez vous interesser à la fonction «exec».
Exemples
Voici un exemple montrant l'exécution de l'interpréteur de commande du systèmes d'exploitation :
- #include <stdio.h>
- #include <stdlib.h>
- #include <windows.h>
-
- int main()
- {
- char compspec[1024];
- DWORD ret_size = GetEnvironmentVariableA("COMSPEC", compspec, sizeof(compspec));
- printf("Lance l'interpréteur de commande du système d'exploitation...");
- WinExec(compspec, SW_MAXIMIZE);
- return 0;
- }
on obtiendra le résultat ressemblant à celui-ci sous «Windows 7»:
Lance l'interprèteur de commande du système d'exploitation...Process returned 0 (0x0) execution time : 0.029 s
Press any key to continue.
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\WINDOWS>
Voici un exemple montrant l'exécution d'Internet Explorer :
- #include <stdio.h>
- #include <stdlib.h>
- #include <windows.h>
-
- int main()
- {
- printf("Lance Internet Explorer...");
- switch(WinExec("C:\\Program Files\\Internet Explorer\\iexplore.exe", SW_MAXIMIZE)) {
- case 0: printf("Manque de mémoire");break;
- case ERROR_BAD_FORMAT: printf("Le format de l'exécutable est invalide");break;
- case ERROR_FILE_NOT_FOUND: printf("Le fichier spécifié est introuvable");break;
- case ERROR_PATH_NOT_FOUND: printf("Le chemin spécifié est introuvable");break;
- }
- return 0;
- }
Dernière mise à jour : Dimanche, le 6 décembre 2015