[R] ControlID et ClassnameNN
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
-
- Niveau 4
- Messages : 81
- Enregistré le : mar. 14 juil. 2009 13:48
- Localisation : Montauban
- Status : Hors ligne
[R] ControlID et ClassnameNN
Bonjour,
Je vous soumets un problème car je ne m'en sors pas. J'ai essayé de m'en sortir en cherchant toute la journée, en vain.
J'automatise l'installation d'un logiciel, au moyen de la fonction "ControlSetText("Outil de lancement de ", "", "[ID:1022]", "blablabla")" notamment.
Seulement, au bout d'un moment, cette fonction ne complète plus la zone. Par contre, si je fais un "ControlGetText" dessus, il me trouve bien "blablabla".
J'ai remarqué que si j'utilisais "ControlSetText("Outil de lancement de ", "", "edit14", "blablabla")", cela fonctionnait. correctement.
Le soucis est que le nom "edit14" n'est pas toujours le bon, alors que [ID:1022] ne bouge pas.
N'y aurait-il pas une possibilité afin de trouver le nom "Edit14" (ou autre à partir du controlID [ID:1022] ?
En d'autre termes, trouver le ClassnameNN en fonction de l'ID ?
Cela me permettrait d'utiliser la fonction "ControlSetText("Outil de lancement de ", "", "editxx", "blablabla")" sans erreur...
Euh.....je me fais bien comprendre là ? Pas sûr.....
Je suis à votre dispo pour toute précision et compte sur vous !
Merci par avance et à bientôt,
Gnifrus.
Je vous soumets un problème car je ne m'en sors pas. J'ai essayé de m'en sortir en cherchant toute la journée, en vain.
J'automatise l'installation d'un logiciel, au moyen de la fonction "ControlSetText("Outil de lancement de ", "", "[ID:1022]", "blablabla")" notamment.
Seulement, au bout d'un moment, cette fonction ne complète plus la zone. Par contre, si je fais un "ControlGetText" dessus, il me trouve bien "blablabla".
J'ai remarqué que si j'utilisais "ControlSetText("Outil de lancement de ", "", "edit14", "blablabla")", cela fonctionnait. correctement.
Le soucis est que le nom "edit14" n'est pas toujours le bon, alors que [ID:1022] ne bouge pas.
N'y aurait-il pas une possibilité afin de trouver le nom "Edit14" (ou autre à partir du controlID [ID:1022] ?
En d'autre termes, trouver le ClassnameNN en fonction de l'ID ?
Cela me permettrait d'utiliser la fonction "ControlSetText("Outil de lancement de ", "", "editxx", "blablabla")" sans erreur...
Euh.....je me fais bien comprendre là ? Pas sûr.....
Je suis à votre dispo pour toute précision et compte sur vous !
Merci par avance et à bientôt,
Gnifrus.
Modifié en dernier par Gnifrus le mer. 24 sept. 2014 23:23, modifié 1 fois.
Re: [..] ControlID et ClassnameNN
_WinAPI_GetDlgCtrlID permet de récupérer l'ID d'un contrôle à partir de son handle.
Sinon, il y a ça : http://www.autoitscript.fr/forum/viewto ... =6&t=10670
Code : Tout sélectionner
#Include <WinAPI.au3>
$hwnd = ControlGetHandle("Outil de lancement de ", "", 1022)
$ID = _WinAPI_GetDlgCtrlID($hwnd)
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [..] ControlID et ClassnameNN
[ID:1022] ne bouge pas ?
Code : Tout sélectionner
ControlSetText("Outil de lancement de ", "", 1022, "blabla")
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
-
- Niveau 4
- Messages : 81
- Enregistré le : mar. 14 juil. 2009 13:48
- Localisation : Montauban
- Status : Hors ligne
Re: [..] ControlID et ClassnameNN
Bonjour,
Tout d'abord, un grand merci pour vos réponses rapides !
Le problème est que ça ne marche pô.... bouhhhhhh !!!
La solution donnée par jguinch ne fonctionne pas, car elle fait référence à 1022 (en effet, _WinAPI_GetDlgCtrlID(ControlGetHandle("Outil de lancement de ", "", 1022)) renvoi le résultat 1022 dans le controlSetText, et ça, ça ne fonctionne pas. Seul "Edit14" fonctionne (je ne pige pas pourquoi)
Idem pour la solution de mikell, qui me propose de mettre 1022 dans le ControlSetText.
En fait, je pense qu'il me faudrait une fonction qui me permette de trouver "Edit14" à partir de du ControlID 1022 afin de la mettre dans le ControlSetText.
Je n'ai pas l'explication du pourquoi ça fonctionne avec "Edit14" et pas avec 1022 ???
ça m'énerve...
Merci encore et bonne journée, je fais F5 F5 F5 F5 F5 jusqu'à ce que quelqu'un me réponde !
Tout d'abord, un grand merci pour vos réponses rapides !
Le problème est que ça ne marche pô.... bouhhhhhh !!!
La solution donnée par jguinch ne fonctionne pas, car elle fait référence à 1022 (en effet, _WinAPI_GetDlgCtrlID(ControlGetHandle("Outil de lancement de ", "", 1022)) renvoi le résultat 1022 dans le controlSetText, et ça, ça ne fonctionne pas. Seul "Edit14" fonctionne (je ne pige pas pourquoi)
Idem pour la solution de mikell, qui me propose de mettre 1022 dans le ControlSetText.
En fait, je pense qu'il me faudrait une fonction qui me permette de trouver "Edit14" à partir de du ControlID 1022 afin de la mettre dans le ControlSetText.
Je n'ai pas l'explication du pourquoi ça fonctionne avec "Edit14" et pas avec 1022 ???
ça m'énerve...
Merci encore et bonne journée, je fais F5 F5 F5 F5 F5 jusqu'à ce que quelqu'un me réponde !
Re: [..] ControlID et ClassnameNN
Dans ma première réponse, je t'ai donné un lien vers une fonction qui te permettra de faire çaGnifrus a écrit :je pense qu'il me faudrait une fonction qui me permette de trouver "Edit14" à partir de du ControlID 1022
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
-
- Niveau 4
- Messages : 81
- Enregistré le : mar. 14 juil. 2009 13:48
- Localisation : Montauban
- Status : Hors ligne
Re: [..] ControlID et ClassnameNN
OK, merci, il est vrai que j'avais zapé cette partie de ta réponse en me précipitant essayer le reste.
Je vais essayer de me baser sur cette fonction en la simplifiant pour obtenir ce que je voudrais.
Je maintiens le statut actif de mon post pour l'instant, et je viendrais le clôturer si je réussi à faire ce que je veux.
Bonne journée,
Je vais essayer de me baser sur cette fonction en la simplifiant pour obtenir ce que je voudrais.
Je maintiens le statut actif de mon post pour l'instant, et je viendrais le clôturer si je réussi à faire ce que je veux.
Bonne journée,
Re: [..] ControlID et ClassnameNN
Pour simplifier :
► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
-
- Niveau 4
- Messages : 81
- Enregistré le : mar. 14 juil. 2009 13:48
- Localisation : Montauban
- Status : Hors ligne
Re: [..] ControlID et ClassnameNN
Bouuuuuhhh !
Merci jguinch !
Je n'ose même pas te montrer la taille de la fonction que tu m'as donnée en lien dans ta première réponse, une fois simplifiée !
Il restait encore tout plein de choses que j'ai conservées, ne sachant pas à quoi elle servaient !!!
Et dire que je ne prends connaissance de ton message qu'à l'instant !!!
J'essaierai demain ta fonction simplifiée, car si la mienne (enfin, la tienne en un peu raccourcie) fonctionne, c'est une vrai usine à gaz par rapport à ce que je voulais faire !!!!
Un grand merci encore !
Je laisse le topic ouvert, le temps de tester tout ça !
Merci merci merci encore !!!!
Merci jguinch !
Je n'ose même pas te montrer la taille de la fonction que tu m'as donnée en lien dans ta première réponse, une fois simplifiée !
Il restait encore tout plein de choses que j'ai conservées, ne sachant pas à quoi elle servaient !!!
Et dire que je ne prends connaissance de ton message qu'à l'instant !!!
J'essaierai demain ta fonction simplifiée, car si la mienne (enfin, la tienne en un peu raccourcie) fonctionne, c'est une vrai usine à gaz par rapport à ce que je voulais faire !!!!
Un grand merci encore !
Je laisse le topic ouvert, le temps de tester tout ça !
Merci merci merci encore !!!!
-
- Niveau 4
- Messages : 81
- Enregistré le : mar. 14 juil. 2009 13:48
- Localisation : Montauban
- Status : Hors ligne
Re: [..] ControlID et ClassnameNN
Merci à tous les 2 pour vos réponses !
J'arrive maintenant à faire ce que je voulais !
C'est génial !
Bonne continuation et certainement à très bientôt !
J'arrive maintenant à faire ce que je voulais !
C'est génial !
Bonne continuation et certainement à très bientôt !