Bonjour tout le monde,
Je cherche le numéro d'une (ou des) fenêtre(s) dont le nom commence par
un intitulé donné. Cela peut donc donner lieu à deux séries de réponses.
En effet, ce à quoi je pense est l'appel de EnumWindows, en comparant
les débuts des noms de fenêtres reçus à l'intitulé fourni.
La première façon d'envisager le problème consiste à une descente dans
les entrailles de VB, en fait dans les questions de cours, pour trouver
la façon la plus élégante de passer une chaîne de caractères à la
fonction callback. La doc indique explicitement que la signature,
c'est-à-dire le nombre d'arguments et leur type, doit correspondre
exactement à la déclaration de EnumWindows, donc a priori pour les
arguments ça s'annonce mal, j'ai donc pensé initialiser une variable
globale dans le module. On pourrait incorporer l'appel à la callback
dans une fonction qui peut très bien avoir le début de nom de fenêtre en
argument, qui le passe en variable globale au module où se trouve la
callback et qui fait l'appel à la callback ensuite. Le but de ma
question est donc, d'abord de savoir si je viens de dire une bêtise plus
grosse que moi, puis de savoir si quelqu'un s'est déjà risqué à ce type
de gymnastique et aurait des points de repère pour éviter des bêtises en
route.
La deuxième façon d'envisager le problème est de recourir à une solution
moins capillotractée, malheureusement pour le moment je n'imagine pas le
début de cette solution. Pourtant, vu comme le problème est courant, si
une solution existe quelqu'un a bien dû la trouver.
Bonjour tout le monde,
Je cherche le numéro d'une (ou des) fenêtre(s) dont le nom commence par
un intitulé donné. Cela peut donc donner lieu à deux séries de réponses.
En effet, ce à quoi je pense est l'appel de EnumWindows, en comparant
les débuts des noms de fenêtres reçus à l'intitulé fourni.
La première façon d'envisager le problème consiste à une descente dans
les entrailles de VB, en fait dans les questions de cours, pour trouver
la façon la plus élégante de passer une chaîne de caractères à la
fonction callback. La doc indique explicitement que la signature,
c'est-à-dire le nombre d'arguments et leur type, doit correspondre
exactement à la déclaration de EnumWindows, donc a priori pour les
arguments ça s'annonce mal, j'ai donc pensé initialiser une variable
globale dans le module. On pourrait incorporer l'appel à la callback
dans une fonction qui peut très bien avoir le début de nom de fenêtre en
argument, qui le passe en variable globale au module où se trouve la
callback et qui fait l'appel à la callback ensuite. Le but de ma
question est donc, d'abord de savoir si je viens de dire une bêtise plus
grosse que moi, puis de savoir si quelqu'un s'est déjà risqué à ce type
de gymnastique et aurait des points de repère pour éviter des bêtises en
route.
La deuxième façon d'envisager le problème est de recourir à une solution
moins capillotractée, malheureusement pour le moment je n'imagine pas le
début de cette solution. Pourtant, vu comme le problème est courant, si
une solution existe quelqu'un a bien dû la trouver.
Bonjour tout le monde,
Je cherche le numéro d'une (ou des) fenêtre(s) dont le nom commence par
un intitulé donné. Cela peut donc donner lieu à deux séries de réponses.
En effet, ce à quoi je pense est l'appel de EnumWindows, en comparant
les débuts des noms de fenêtres reçus à l'intitulé fourni.
La première façon d'envisager le problème consiste à une descente dans
les entrailles de VB, en fait dans les questions de cours, pour trouver
la façon la plus élégante de passer une chaîne de caractères à la
fonction callback. La doc indique explicitement que la signature,
c'est-à-dire le nombre d'arguments et leur type, doit correspondre
exactement à la déclaration de EnumWindows, donc a priori pour les
arguments ça s'annonce mal, j'ai donc pensé initialiser une variable
globale dans le module. On pourrait incorporer l'appel à la callback
dans une fonction qui peut très bien avoir le début de nom de fenêtre en
argument, qui le passe en variable globale au module où se trouve la
callback et qui fait l'appel à la callback ensuite. Le but de ma
question est donc, d'abord de savoir si je viens de dire une bêtise plus
grosse que moi, puis de savoir si quelqu'un s'est déjà risqué à ce type
de gymnastique et aurait des points de repère pour éviter des bêtises en
route.
La deuxième façon d'envisager le problème est de recourir à une solution
moins capillotractée, malheureusement pour le moment je n'imagine pas le
début de cette solution. Pourtant, vu comme le problème est courant, si
une solution existe quelqu'un a bien dû la trouver.
La première façon d'envisager le problème consiste à une descente dans
les entrailles de VB, en fait dans les questions de cours, pour trouver
la façon la plus élégante de passer une chaîne de caractères à la
fonction callback. La doc indique explicitement que la signature,
c'est-à-dire le nombre d'arguments et leur type, doit correspondre
exactement à la déclaration de EnumWindows, donc a priori pour les
arguments ça s'annonce mal,
j'ai donc pensé initialiser une variable
globale dans le module. On pourrait incorporer l'appel à la callback
dans une fonction qui peut très bien avoir le début de nom de fenêt re en
argument, qui le passe en variable globale au module où se trouve la
callback et qui fait l'appel à la callback ensuite.
Le but de ma
question est donc, d'abord de savoir si je viens de dire une bêtise plus
grosse que moi, puis de savoir si quelqu'un s'est déjà risqué à c e type
de gymnastique et aurait des points de repère pour éviter des bêtis es en
route.
La première façon d'envisager le problème consiste à une descente dans
les entrailles de VB, en fait dans les questions de cours, pour trouver
la façon la plus élégante de passer une chaîne de caractères à la
fonction callback. La doc indique explicitement que la signature,
c'est-à-dire le nombre d'arguments et leur type, doit correspondre
exactement à la déclaration de EnumWindows, donc a priori pour les
arguments ça s'annonce mal,
j'ai donc pensé initialiser une variable
globale dans le module. On pourrait incorporer l'appel à la callback
dans une fonction qui peut très bien avoir le début de nom de fenêt re en
argument, qui le passe en variable globale au module où se trouve la
callback et qui fait l'appel à la callback ensuite.
Le but de ma
question est donc, d'abord de savoir si je viens de dire une bêtise plus
grosse que moi, puis de savoir si quelqu'un s'est déjà risqué à c e type
de gymnastique et aurait des points de repère pour éviter des bêtis es en
route.
La première façon d'envisager le problème consiste à une descente dans
les entrailles de VB, en fait dans les questions de cours, pour trouver
la façon la plus élégante de passer une chaîne de caractères à la
fonction callback. La doc indique explicitement que la signature,
c'est-à-dire le nombre d'arguments et leur type, doit correspondre
exactement à la déclaration de EnumWindows, donc a priori pour les
arguments ça s'annonce mal,
j'ai donc pensé initialiser une variable
globale dans le module. On pourrait incorporer l'appel à la callback
dans une fonction qui peut très bien avoir le début de nom de fenêt re en
argument, qui le passe en variable globale au module où se trouve la
callback et qui fait l'appel à la callback ensuite.
Le but de ma
question est donc, d'abord de savoir si je viens de dire une bêtise plus
grosse que moi, puis de savoir si quelqu'un s'est déjà risqué à c e type
de gymnastique et aurait des points de repère pour éviter des bêtis es en
route.
Hello,
Gloops wrote:La première façon d'envisager le problème consiste à une descente dans
les entrailles de VB, en fait dans les questions de cours, pour trouver
la façon la plus élégante de passer une chaîne de caractères à la
fonction callback. La doc indique explicitement que la signature,
c'est-à-dire le nombre d'arguments et leur type, doit correspondre
exactement à la déclaration de EnumWindows, donc a priori pour les
arguments ça s'annonce mal,
Même si en VB, pour des raisons assez obscures, on a tendances à ne
pas l'utiliser, tu as toujours le lParam qui sert précisément à
passer des données "utilisateur" aux fonctions callback. (on pourrait
par exemple passer un pointeur vers la chaine de caractère et adapter
la procédure callback pour obtenir la chaine directement... )
j'ai donc pensé initialiser une variable
globale dans le module. On pourrait incorporer l'appel à la callback
dans une fonction qui peut très bien avoir le début de nom de fenêtre en
argument, qui le passe en variable globale au module où se trouve la
callback et qui fait l'appel à la callback ensuite.
C'est effectivement la méthode la lus utilisée.
Il faut par contre
faire attention a avoir des accesseurs bien définis à cete variable
(privée d'un module et pas globale de préférence, donc), afin
d'éviter les problèmes du type "tiens, j'ai réécrit la valeur, je
ne sais pas où, et faute d'accesseurs corrects, je ne sais pas le
tracer facilement".
Le but de ma
question est donc, d'abord de savoir si je viens de dire une bêtise plus
grosse que moi, puis de savoir si quelqu'un s'est déjà risqué à ce type
de gymnastique et aurait des points de repère pour éviter des bêtises en
route.
Je me suis déjà "risqué" (il n'y a pas de grands risques, mis à
part de planter VB),
à ce genre de choses sur l'énumération de
ressources dans un fichier (EnumResourceNames et autres) avec variables
privée d'un module pour maintenir quelques informations. Ce doit être
globalement la même chose.
Hello,
Gloops wrote:
La première façon d'envisager le problème consiste à une descente dans
les entrailles de VB, en fait dans les questions de cours, pour trouver
la façon la plus élégante de passer une chaîne de caractères à la
fonction callback. La doc indique explicitement que la signature,
c'est-à-dire le nombre d'arguments et leur type, doit correspondre
exactement à la déclaration de EnumWindows, donc a priori pour les
arguments ça s'annonce mal,
Même si en VB, pour des raisons assez obscures, on a tendances à ne
pas l'utiliser, tu as toujours le lParam qui sert précisément à
passer des données "utilisateur" aux fonctions callback. (on pourrait
par exemple passer un pointeur vers la chaine de caractère et adapter
la procédure callback pour obtenir la chaine directement... )
j'ai donc pensé initialiser une variable
globale dans le module. On pourrait incorporer l'appel à la callback
dans une fonction qui peut très bien avoir le début de nom de fenêtre en
argument, qui le passe en variable globale au module où se trouve la
callback et qui fait l'appel à la callback ensuite.
C'est effectivement la méthode la lus utilisée.
Il faut par contre
faire attention a avoir des accesseurs bien définis à cete variable
(privée d'un module et pas globale de préférence, donc), afin
d'éviter les problèmes du type "tiens, j'ai réécrit la valeur, je
ne sais pas où, et faute d'accesseurs corrects, je ne sais pas le
tracer facilement".
Le but de ma
question est donc, d'abord de savoir si je viens de dire une bêtise plus
grosse que moi, puis de savoir si quelqu'un s'est déjà risqué à ce type
de gymnastique et aurait des points de repère pour éviter des bêtises en
route.
Je me suis déjà "risqué" (il n'y a pas de grands risques, mis à
part de planter VB),
à ce genre de choses sur l'énumération de
ressources dans un fichier (EnumResourceNames et autres) avec variables
privée d'un module pour maintenir quelques informations. Ce doit être
globalement la même chose.
Hello,
Gloops wrote:La première façon d'envisager le problème consiste à une descente dans
les entrailles de VB, en fait dans les questions de cours, pour trouver
la façon la plus élégante de passer une chaîne de caractères à la
fonction callback. La doc indique explicitement que la signature,
c'est-à-dire le nombre d'arguments et leur type, doit correspondre
exactement à la déclaration de EnumWindows, donc a priori pour les
arguments ça s'annonce mal,
Même si en VB, pour des raisons assez obscures, on a tendances à ne
pas l'utiliser, tu as toujours le lParam qui sert précisément à
passer des données "utilisateur" aux fonctions callback. (on pourrait
par exemple passer un pointeur vers la chaine de caractère et adapter
la procédure callback pour obtenir la chaine directement... )
j'ai donc pensé initialiser une variable
globale dans le module. On pourrait incorporer l'appel à la callback
dans une fonction qui peut très bien avoir le début de nom de fenêtre en
argument, qui le passe en variable globale au module où se trouve la
callback et qui fait l'appel à la callback ensuite.
C'est effectivement la méthode la lus utilisée.
Il faut par contre
faire attention a avoir des accesseurs bien définis à cete variable
(privée d'un module et pas globale de préférence, donc), afin
d'éviter les problèmes du type "tiens, j'ai réécrit la valeur, je
ne sais pas où, et faute d'accesseurs corrects, je ne sais pas le
tracer facilement".
Le but de ma
question est donc, d'abord de savoir si je viens de dire une bêtise plus
grosse que moi, puis de savoir si quelqu'un s'est déjà risqué à ce type
de gymnastique et aurait des points de repère pour éviter des bêtises en
route.
Je me suis déjà "risqué" (il n'y a pas de grands risques, mis à
part de planter VB),
à ce genre de choses sur l'énumération de
ressources dans un fichier (EnumResourceNames et autres) avec variables
privée d'un module pour maintenir quelques informations. Ce doit être
globalement la même chose.
Bonjour,
Heu, je ne sais pas si j'ai compris, je comprends rarement, mais...
Bonjour,
Heu, je ne sais pas si j'ai compris, je comprends rarement, mais...
Bonjour,
Heu, je ne sais pas si j'ai compris, je comprends rarement, mais...