-- Merci, @+, bye, Joe troll75 AROBASE iFrance POINT com ------------------------------------------ Le_Troll, éleveur de Trolls depuis César, qui disait: Avec une hache, celui qui tient le manche a toujours raison !
"Barsalou" a écrit dans le message de news:
Comment fermer depuis le programme appelant une application ouverte avec Shell. Merci de m'aider Eric
Bonsoir, voici:
OUVERTURE D'UNE APPLICATION, PUIS, FERMETURE DE L'APPLICATION DEPUIS LE
PROGRAMME QUI L'A LANCE
Private Declare Function OpenProcess Lib "kernel32" ( _
ByVal dwDesiredAccess As Long, _
ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long _
) As Long
'
Private Declare Function TerminateProcess Lib "kernel32" ( _
ByVal hProcess As Long, _
ByVal uExitCode As Long _
) As Long
Private Declare Function CloseHandle Lib "kernel32" ( _
--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !
"Barsalou" <eric.barsalou@wanadoo.fr> a écrit dans le message de
news:OA3jVq0mEHA.3868@TK2MSFTNGP11.phx.gbl...
Comment fermer depuis le programme appelant une application ouverte avec
Shell.
Merci de m'aider
Eric
-- Merci, @+, bye, Joe troll75 AROBASE iFrance POINT com ------------------------------------------ Le_Troll, éleveur de Trolls depuis César, qui disait: Avec une hache, celui qui tient le manche a toujours raison !
"Barsalou" a écrit dans le message de news:
Comment fermer depuis le programme appelant une application ouverte avec Shell. Merci de m'aider Eric
ng
Salut,
1/ Tu peux essayer de trouver la fenêtre de l'appli (FindWindows(), etc...) puis lui envoyer un message WM_CLOSE de facon à ce qu'elle se ferme proprement (et par exemple si ca n'a aucun effet au bout d'un certain temps il suffirait d'employer les grands moyen et de tuer méchamment le process).
2/ Tu peux aussi (mais attention ce n'est pas propre du tout car il n'y a pas une libération correcte des ressources) tuer le process (TerminateProcess()), voici un exemple :
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long Private Const PROCESS_QUERY_INFORMATION = &H400
Private Sub Form_Load() Dim lRet As Long, lExitCode As Long, lHandle As Long
lRet = Shell("notepad.exe", vbNormalFocus)
Call MsgBox("Cliquez sur OK pour tuer le process")
lHandle = OpenProcess(PROCESS_QUERY_INFORMATION, False, lRet) Call GetExitCodeProcess(lHandle, lExitCode) Call TerminateProcess(lHandle, 0) Call CloseHandle(lHandle) End Sub
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
Barsalou wrote:
Comment fermer depuis le programme appelant une application ouverte avec Shell. Merci de m'aider Eric
Salut,
1/ Tu peux essayer de trouver la fenêtre de l'appli (FindWindows(), etc...)
puis lui envoyer un message WM_CLOSE de facon à ce qu'elle se ferme
proprement (et par exemple si ca n'a aucun effet au bout d'un certain temps
il suffirait d'employer les grands moyen et de tuer méchamment le process).
2/ Tu peux aussi (mais attention ce n'est pas propre du tout car il n'y a
pas une libération correcte des ressources) tuer le process
(TerminateProcess()), voici un exemple :
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess
As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long)
As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess
As Long, lpExitCode As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As
Long, ByVal uExitCode As Long) As Long
Private Const PROCESS_QUERY_INFORMATION = &H400
Private Sub Form_Load()
Dim lRet As Long, lExitCode As Long, lHandle As Long
lRet = Shell("notepad.exe", vbNormalFocus)
Call MsgBox("Cliquez sur OK pour tuer le process")
lHandle = OpenProcess(PROCESS_QUERY_INFORMATION, False, lRet)
Call GetExitCodeProcess(lHandle, lExitCode)
Call TerminateProcess(lHandle, 0)
Call CloseHandle(lHandle)
End Sub
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
Barsalou wrote:
Comment fermer depuis le programme appelant une application ouverte
avec Shell.
Merci de m'aider
Eric
1/ Tu peux essayer de trouver la fenêtre de l'appli (FindWindows(), etc...) puis lui envoyer un message WM_CLOSE de facon à ce qu'elle se ferme proprement (et par exemple si ca n'a aucun effet au bout d'un certain temps il suffirait d'employer les grands moyen et de tuer méchamment le process).
2/ Tu peux aussi (mais attention ce n'est pas propre du tout car il n'y a pas une libération correcte des ressources) tuer le process (TerminateProcess()), voici un exemple :
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long Private Const PROCESS_QUERY_INFORMATION = &H400
Private Sub Form_Load() Dim lRet As Long, lExitCode As Long, lHandle As Long
lRet = Shell("notepad.exe", vbNormalFocus)
Call MsgBox("Cliquez sur OK pour tuer le process")
lHandle = OpenProcess(PROCESS_QUERY_INFORMATION, False, lRet) Call GetExitCodeProcess(lHandle, lExitCode) Call TerminateProcess(lHandle, 0) Call CloseHandle(lHandle) End Sub
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
Barsalou wrote:
Comment fermer depuis le programme appelant une application ouverte avec Shell. Merci de m'aider Eric
Barsalou
Merci beaucoup. Néanmoins je n'ai pas compris la technique par FindWindows etc.. qui serait plus "propre".
Merci beaucoup.
Néanmoins je n'ai pas compris la technique par FindWindows etc.. qui serait
plus "propre".
Merci beaucoup. Néanmoins je n'ai pas compris la technique par FindWindows etc.. qui serait plus "propre".
Barsalou
Après essai je constate que le processus appelé s'arrête effectivement, mais que la fenêtre correspondante est toujours là. Je voudrais l'équivalent d'un clic sur la croix de fermeture. Si c'est possible merci de me dire comment faire.
Après essai je constate que le processus appelé s'arrête effectivement, mais
que la fenêtre correspondante est toujours là.
Je voudrais l'équivalent d'un clic sur la croix de fermeture.
Si c'est possible merci de me dire comment faire.
Après essai je constate que le processus appelé s'arrête effectivement, mais que la fenêtre correspondante est toujours là. Je voudrais l'équivalent d'un clic sur la croix de fermeture. Si c'est possible merci de me dire comment faire.
Barsalou
j'ai trouvé la bonne réponse sur http://faq.vb.free.fr/index.php?question4
Eric
j'ai trouvé la bonne réponse sur
http://faq.vb.free.fr/index.php?question4