stephaneRhone
Messages postés16Date d'inscriptionvendredi 27 février 2009StatutMembreDernière intervention16 mars 2013
-
24 juil. 2009 à 23:44
stephaneRhone
Messages postés16Date d'inscriptionvendredi 27 février 2009StatutMembreDernière intervention16 mars 2013
-
27 juil. 2009 à 13:56
salut
voici mon code, il serre a recupéré la handle de la class name et doit l affiché dans le text1.text mais cela ne marche pas j ai un 0 qui apparait a la place de mon handle
voici mon code
======================================================================================
======================================================================================
===================Project detection handle via classname ============================
======================================================================================
======================================================================================
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal nom_classe As String, ByVal nom_fenetre As String) As Long
Dim handle1 As String 'défini le handle de la fenêtre recherché
Private Sub Form_Load()
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
' trouver le handle1 de la fenetre principale de ax
handle1 = FindWindow("ax25458", "")
Text1.Text = handle1
End Sub
stephaneRhone
Messages postés16Date d'inscriptionvendredi 27 février 2009StatutMembreDernière intervention16 mars 2013 27 juil. 2009 à 13:56
oki
Donc la j ai cherché mais j'ai du mal a trouver.
Si tu as un exemple avec explication je serai interressé fortement.
ou si tu as un peu de temp a me consacrer je serai preneur .
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 25 juil. 2009 à 02:27
Salut
Il n'y a pourtant pas beaucoup de risque de ce tromper cette API.
Ta commande est bonne.
A toi de voir si la classe nommée "ax25458" existe bien.
Utilise des programmes comme WinIDqui permet de repérer le nom des classes et autre handle au survol de la souris : très pratique pour mettre au point ce genre de manipulation
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
stephaneRhone
Messages postés16Date d'inscriptionvendredi 27 février 2009StatutMembreDernière intervention16 mars 2013 25 juil. 2009 à 03:04
Merci pour ton info
mais il me semble quil y un probleme car quand j'enleve la classe le resutat reste le meme
ya til pas une ligne du genre private sud findwin() a mettre en place ? si oui comment dois-je la mettre car j essaye mais rien ne va . j'utilise showin pour la classe j ai donc la visibilé de la handle que je rentre en manuel sur une autre API donc je cal severe je ne c comment me depatouillé etant Novice c un peux dur pour moi . Merci de votre aide :)
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 25 juil. 2009 à 12:20
Re
Essaye d'écrire en français, le sms ça me gonfle, surtout que tu abrèges aussi le nom des fonctions APIs et on ne sait pas de quoi tu parles.
"ya til pas une ligne du genre private sud findwin() a mettre en place ?"
Bah tu l'as déjà mise. C'est la déclaration de la fonction API FindWindow que tu as placé en tête de page de code, et que tu utilises dans ton Timer.
Pendant que j'y pense, es-tu sûr que ton Timer tourne ?
As-tu vérifier avec un F9 sur une ligne ?
Si non, regarde si tu bien mis un Interval dans ses propriétés
"j'utilise showin pour la classe"
"showin" = ShowWindow, l'API ?
Que veut dire cette phrase ?
ShowWindow n'a pas de paramètre "Class"
As-tu, comme je te l'ai précauniser, chargé et utilisé WinId pour vérifier que la classe de ton objet s'appelle bien "ax..." ?
Il va de soi que cette fonction recherche le Handle d'un objet actuellement visible/existant dont le nom de classe est "ax...", on est bien d'accord ?
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Vous n’avez pas trouvé la réponse que vous recherchez ?
stephaneRhone
Messages postés16Date d'inscriptionvendredi 27 février 2009StatutMembreDernière intervention16 mars 2013 25 juil. 2009 à 17:44
oki Merci
Donc , pour ètre claire sans SMS je m'en éscuse.
"ya til pas une ligne du genre private sud findwin() a mettre en place ?" _
Je pensais à > Public Sub findwin() <
Avec F9 la ligne Private Sub Timer1_timer() passe du rouge au jaune au lacement de mon project.
Alors éffèctivement mon Timer a un interval de 100.
Showin et un utilitaire similaire a WinID. il donne la class le handle parent child ect.. Il permet aussi également a dégrisé et utilisé des bouton grisé qui se trouve souvent dans les DEMO sharware;) juste pour info. super petit soft bien utile.
je n'utilise pas showwindows
Oui la classe name apparait toujours comme ax...
Le résultat dans mon textbox et toujours le même c'est a dir égale a 0 !! je ne comprend pas pourquoi.
Si je suprime la classe et que je met vbNULLstring a la place de la classe, toujours le même résultat qui égale a 0.
Je vais utiliser WinID pour ètre sur de ma classe mais 2 déja mon donné la meme classe name.
je te tien donc au courant sur la suite de mon project
Si tu a des réponse ou des indication je suis interressé en sachant une precsion
que mes declaration de font dans un module.bas
Car dans la form1(code) cela me refuse.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 25 juil. 2009 à 19:39
Je ne sais pas d'où sort ton "Public Sub findwin()", ni ce qu'il représente.
FindWindow ne recherche pas parmi les "Child", il ne recherche que parmi les objets rattachés au bureau.
Si tu veux retrouver un objet par sa classe, il faut :
- Rechercher le parent attaché au bureau (FindWindow du "Shell_traywnd" + boucle avec GetWindow en GW_CHILD)
Voir exemple dans API-Guide pour l'API FindWindow
- Eventuellement, rechercher les Chid de ce parent, si la descendance n'est pas de premier niveau
- Et retrouver ton objet avec un GetClassName
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)