Ouvrir un programme externe et le fermer

Soyez le premier à donner votre avis sur cette source.

Snippet vu 55 481 fois - Téléchargée 96 fois


Contenu du snippet

Comment puis-je ouvrir un programme externe puis le fermer ?

Mettez ce code dans un Module :

Source / Exemple :


Public hProcess, nRet, Retour as Long
Const PROCESS_QUERY_INFORMATION = &H400

Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long

' Pour lancer le programme :

Retour = shell("LeProg.exe",1)

' Pour Fermer le programme :

hProcess = OpenProcess(fdwAccess, False, Retour)
GetExitCodeProcess hProcess, nRet
Call TerminateProcess(hProcess, nRet)
Call CloseHandle(hProcess)

A voir également

Ajouter un commentaire

Commentaires

cs_LogOff
Messages postés
69
Date d'inscription
dimanche 6 octobre 2002
Statut
Membre
Dernière intervention
14 juillet 2009
-
Yabpat, ta question n'a rien voir avec le sujet de ce post ; en plus, tu déterres un topic vieux de presque trois ans !

Utilise l'API ShellExecuteA :

Déclaration :
Public Declare Function ShellExecuteA Lib "shell32" (ByVal hWnd As Long, ByVal LPFile As String, ByVal PathFile As String, ByVal Other As String, ByVal Other2 As String, ByVal Param As Long) As Long

Utilisation :
ShellExecuteA 0, "Open", chemin_dossier, "", , 1

Une recherche sur Google ou PSC t'aurait donné la même réponse en deux minutes.

Bonne prog,
cs_yabpat
Messages postés
8
Date d'inscription
vendredi 3 mars 2006
Statut
Membre
Dernière intervention
13 juillet 2009
-
j'ai vraiment un problème
j'aimerai ouvrir un repertoire directement a partir ce son chemin d'accès
cs_LogOff
Messages postés
69
Date d'inscription
dimanche 6 octobre 2002
Statut
Membre
Dernière intervention
14 juillet 2009
-
Merci MTI pour tes précieux conseils : j'ai acheté 'La recherche sur Internet pour les nuls' et j'ai vachement progressé: je parviens maintenant à faire des recherches sur vbfrance, vbip, psc et freevbcode! Sérieux progrès, non? En plus, ça marche aussi avec Google! Formidable!
En ce qui concerne le gestionnaire des tâches, je sais m'en servir (je suis...ingénieeeuu.....informaticien, mais j'ai winXP), mais merci tout de même d'avoir obligeamment répondu à mon post.

Deux petites piques pour rester dans le ton fraternel caractéristique de la solidarité entre programmeurs sur vbFrance:
Note que le 'e' n'est jamais accentué quand il est placé devant un 'x'.
Note également que sur le web un clic suffit pour valider un formulaire, et que le temps de chargement des pages dépend du débit de ta connexion internet, donc même si les pages mettent du temps à charger, évite de cliquer 2 fois sur le bouton 'Ajouter votre commentaire' : ça fait un peu balourd, un peu comme quelqu'un qui a du mal à faire une recherche sur internet ;)

Si jamais tu as du temps à perdre et que l'envie te prend de me répondre sur un ton aussi constructif que mon post, fais-le via la messagerie interne de vbFrance, histoire de ne pas polluer la page de commentaires (mon message suffit bien, je pense), c'est pas très sympa pour les autres.

Sinon après t'avoir engeulé :) je vais t'expliquer:
je n'arrivais pas à utiliser l'API TerminateProcess(), maintenant le pb est réglé. Merci à Nix au passage pour cette source.
cs_mti
Messages postés
51
Date d'inscription
mardi 28 juin 2005
Statut
Membre
Dernière intervention
29 mars 2008
-
slayer: (commence à m'énerver) recherche==>execution==>ouvrir prog externe
ou même MSDN==> shell, fonction
vous êtes forts pour les recherches (je m'énerve comme un modo :))
cs_mti
Messages postés
51
Date d'inscription
mardi 28 juin 2005
Statut
Membre
Dernière intervention
29 mars 2008
-
logoff: la fonction recherche ca éxiste!!! Si t'en fais une sur processus tu tombes sur ce que tu veux!!!
sinon après t'avoir engeulé :) je vais t'expliquer:
dans le gestionnaire des tâches, tu fais clic droit sur ton prog et aller dans le processus et voilà (à condition d'avoir XP biensur)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.