Bonjour,
Je cherche un composant ou une méthode pour obtenir le handle d'une fenêtre (n'importe quelle appli ouverte) en pointant dessus !
un peu comme dans cette appli
![]()
Bonjour,
Je cherche un composant ou une méthode pour obtenir le handle d'une fenêtre (n'importe quelle appli ouverte) en pointant dessus !
un peu comme dans cette appli
![]()
Have a nice day. Oliv'
Votre réponse est peut être dans mon blog !
https://www.developpez.net/forums/blogs/191381-oliv-/
Bonjour,
Qu'Est-ce que tu entends par composant ?
Tu cherches quelque chose que tu peux utiliser à partir d'Excel (Application) ou d'un de tes programmes ?
Oui un composant pour mettre sur un Userform excel et en cliquant dessus je pourrai pointer l'appli qui m'intéresse pour obtenir son windows handle .
Par exemple je veux récupérer le handle d'une autre session de Excel
Have a nice day. Oliv'
Votre réponse est peut être dans mon blog !
https://www.developpez.net/forums/blogs/191381-oliv-/
Bonjour
Peux-tu s'il te plait être plus précis ?
Veux-tu dire extraire le handle d'une fenêtre sur laquelle tu mets ton curseur ? (si oui : facile)
ou
Autre chose (et quoi) ?
oui c'est ça
Have a nice day. Oliv'
Votre réponse est peut être dans mon blog !
https://www.developpez.net/forums/blogs/191381-oliv-/
Bien.
Petite expérience :
- un userform et ce code :
Lance le userform
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Private Type POINTAPI X As Long Y As Long End Type Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long Private Sub UserForm_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Dim Pt As POINTAPI GetCursorPos Pt MsgBox "cette fenêtre a pour handle : " & WindowFromPoint(Pt.X, Pt.Y) End Sub
Click où tu veux sur ce userform et garde enfoncé le bouton de ta souris
Bouton gardé enfoncé, rends-toi où tu veux (la fenêtre que tu veux) et libère le bouton --->> regarde
Autre manière (somme toute identique) si tu préfère :
un label label1 ajouté et -->>
Tu clique du droit, garde enfoncé et te "balades" où tu veux. Regarde ce qui se passe dans le label.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Private Type POINTAPI X As Long Y As Long End Type Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) If Button <> 2 Then Exit Sub ' j'ai choisi ici le bouton droit (mais ce n'est qu'un choix) Dim Pt As POINTAPI GetCursorPos Pt Label1.Caption = WindowFromPoint(Pt.X, Pt.Y) End Sub
Partager