Besoin d'aide pour savoir comment quitter une application en cours (visible ou n

Résolu
robapt Messages postés 114 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 4 décembre 2009 - 20 avril 2005 à 18:03
robapt Messages postés 114 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 4 décembre 2009 - 21 avril 2005 à 11:00
Bon j'ai déja trouvé un code pouvant donner les applications en cours visible et les non visible dans deux listbox : http://www.vbfrance.com/code.aspx?ID=6331
Esce que quelq'un peut m'aide maintenant à faire quitter l'application.

> mon mail si vous avez des réponses : [mailto:gaerebut@msn.com gaerebut@msn.com]

7 réponses

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
20 avril 2005 à 19:30
Salut, il te suffit de la faire apparaitre au 1er plan puis d'y envoyé les commandes ATL+F4, il n'y a que pour les services que cela posera pb.

Afficher une appli au 1er plan :

Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Call ShowWindow(lnghWnd, SW_SHOW)
SendKeys "%{F4}", True


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]&nbs
3
CTAC Messages postés 133 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 8 juin 2012 5
20 avril 2005 à 19:47
Bonjour.

Puisque tu connais le handle :

Private Declare Function PostMessage& _
Lib "user32" Alias "PostMessageA" _
(ByVal Hwnd&, ByVal wMsg&, ByVal wParam&, ByVal lParam&)


Private Function Ferme&(Hwnd&)
Const WM_CLOSE& = &H10
Ferme = PostMessage(Hwnd, WM_CLOSE, 0&, 0&)
End Function
0
robapt Messages postés 114 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 4 décembre 2009
20 avril 2005 à 19:54
CTAC je ne comprend pas trop ton code (je dit pas qu'il est faut mais je suis débutant donc tu vois ...)
en fait c'est quoi un handle et ou ce mais le nom de l'application a fermer ???
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
20 avril 2005 à 19:57
Le Handle c'est un code attribué par Windows à une application qui à une interface graphique, cela permet d'identifiée les applications entre elles, c'est la base du multi-thread si mes souvenir sont bons, c'est à dire la base pour le multi-tâche.


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]&nbs
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CTAC Messages postés 133 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 8 juin 2012 5
21 avril 2005 à 02:08
Bonjour.

Je suis allé voir la source que tu cite.
Essaye plutôt ça qui te donne le handle, la classe et le titre.
Le handle, c'est un identifiant unique attribué par Windows a chaque fenêtre.

Cet exemple affiche dans une boite de message le handle , la classe et le titre de toutes les fenêtres visibles ouvertes sur le bureau.
Si tu veux toutes les fenêtres et non pas uniquement les visibles, tu met en commentaire la ligne If IsWindowVisible(hwnd) Then et le End If qui va avec.

Le code suivant devra être placé dans un module à cause de l'opérateur AddressOf.


Private Declare Function EnumWindows& Lib "user32" _
(ByVal lpEnumFunc&, ByVal lngParam&)


Private Declare Function GetClassName& Lib "user32" _
Alias "GetClassNameA" (ByVal hwnd&, ByVal lpClassName$, ByVal nMaxCount&)


Private Declare Function GetWindowText& Lib "user32" _
Alias "GetWindowTextA" (ByVal hwnd&, ByVal lpString$, ByVal cch&)


Private Declare Function IsWindowVisible& Lib "user32" _
(ByVal hwnd&)


Private LeTexte$


Private Function WindowCaption$(hwnd&)
WindowCaption = Space$(100&)
WindowCaption = Left$(WindowCaption, GetWindowText(hwnd, WindowCaption, 100&))
End Function


Private Function NomDeClass$(hwnd&)
NomDeClass = Space$(100&)
NomDeClass = Left$(NomDeClass, GetClassName(hwnd, NomDeClass, 100&))
End Function


Private Function EnumWindowsProc&(ByVal hwnd&, ByVal lngParam&)
If IsWindowVisible(hwnd) Then
LeTexte = LeTexte & hwnd & vbTab & NomDeClass(hwnd) & _
vbTab & WindowCaption(hwnd) & vbCrLf
End If
EnumWindowsProc = True
End Function


Sub ListeTopWindows()
LeTexte = "Handle" & vbTab & "Classe" & vbTab & "Titre" & vbCrLf
EnumWindows AddressOf EnumWindowsProc, 0&
MsgBox LeTexte
End Sub
0
zippro4012 Messages postés 216 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 26 février 2006 1
21 avril 2005 à 09:33
Pour détruire une fenêtre :



Public Declare Function DestroyWindow Lib "user32.dll" ( _

ByVal hwnd As int32) As int32
0
robapt Messages postés 114 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 4 décembre 2009
21 avril 2005 à 11:00
Ouai vous êtes sympa les gars mais moi en fait ce que je veus en fait c'est par winsock ,dsl j'ai oublier de le préciser .En fait une forme a toute les application listée (visible et nonvisible) dans 2 listbox différentes et quant je clique sur le bouton supprimer l'application cela envoie l'application choisit ,bon sa je sait faire que dois-je marquer dans l'autre form qui recois l'ordre de supprimer l'application (appelée data) :

Imaginez :

Form1:

Private Sub Command1_Click()
Form1.Wck.SendData "quitterapp" & List1.List(List1.ListIndex)
End Sub

Form2:

If left(data, 10) = "quitterapp" Then

End If

Si quelq'un a trouvé la solution merci de me la donner et je lui serai très reconnaissant

Merci

GAGA
0
Rejoignez-nous