mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
21 juin 2007 à 03:00
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
21 juin 2007 à 04:12
Salut à tous,
bon je galère avec l'API citée ^^
J'essaie de faire un complément VB (add-in) mais je n'arrive pas à retrouver un handle.
Pour simplifier mon problème, voici un bout de code :
Option Explicit
Private Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As
Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Sub Form_Load()
Dim aAs Long, RetVal As Long, lpClassName As
String
lpClassName = Space(256)
RetVal = GetClassName(132014, lpClassName, 256)
MsgBox "ClassName: " + Left$(lpClassName, RetVal)
a = FindWindow(lpClassName, vbNullString)
MsgBox a
Avec une fenêtre espion (Win ID) j'ai pu retrouver le Handle de la ToolsPalette (la barre d'outils qui contient les contrôles VB)
Donc j'ai triché, la valeur 132014 c'est le hWnd de la Tools, lpClassName me trouve bien " ToolsPalette " (le premier MsgBox)
A l'inverse, quand je fais MsgBox a, j'obtient 0 !
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 21 juin 2007 à 03:54
Salut (non je plaisante)
pas classique comme méthode ?
on cherche d'abord le handle puis ensuite la classe
FindWindows ne donne que les fenêtres parents, ensuite faut chercher les enfants
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 21 juin 2007 à 04:12
Salut Daniel,
royal, merci beaucoup, c'est exactement ça
Ps : pour le
Salut (non je plaisante) , en fait c'est suite à une dicution récente, on disait que ces titres étaient à proscrire. Donc ça me faisait sourire