Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fenêtres du numéroteur téléphonique

4 réponses
Avatar
Gloops
Bonjour tout le monde,

Je cherche =E0 piloter le num=E9roteur t=E9l=E9phonique (dialer.exe) =E0 =
partir=20
d'une interface =E0 appeler depuis un r=E9pertoire, par exemple dans un t=
ableur.

Il me faut donc d=E9tecter les fen=EAtres correspondantes pour d=E9clench=
er un=20
chronom=E8tre. FindWindow (par API n'est-ce pas ?) peut tr=E8s bien me=20
d=E9tecter les fen=EAtres de la classe #32770, mais il y en a plusieurs :=
=20
"Server Recv Notify Data Win (ConfigFree)" (qui j'imagine appartient =E0 =

une autre application), "Aper=E7u", "Appel t=E9l=E9phonique - " suivi du =
nom=20
du correspondant, "=C9tat de l'appel". Je pourrais d=E9tecter les fen=EAt=
res=20
par leur nom (comme j'ai fait sans probl=E8me pour une version fran=E7ais=
e),=20
l'ennui, s'agissant d'une application internationale, est que les=20
intitul=E9s d=E9pendent de la langue d'installation de Windows.

Y a-t-il un moyen de conna=EEtre par programme ces noms de fa=E7on =E0 =EA=
tre=20
capable de d=E9tecter l'apparition de la fen=EAtre correspondante ? Ou en=
=20
est-on r=E9duit =E0 compter les num=E9ros de fen=EAtres pour deviner =E0 =
quelle=20
phase du traitement on en est ? Et =E0 ce moment l=E0 comment savoir si l=
e=20
num=E9roteur est d=E9j=E0 ouvert lors de l'appel du programme ? D=E9tecte=
r le=20
nom de l'ex=E9cutable ? Pour s=FBr si il y avait quelque chose de rationn=
el=20
pour viser chaque fen=EAtre =E0 coup s=FBr ce serait quand m=EAme plus co=
mmode.

4 réponses

Avatar
Vincent Poyo
Bonjour,

Peut être que ceci ce convient ?

Process[] processes = Process.GetProcessesByName("dialer");

dialer étant le nom du process (de l'éxécutable) c'est de la langue

Cordialement,

Vincent.


"Gloops" a écrit dans le message de
news:O%
Bonjour tout le monde,

Je cherche à piloter le numéroteur téléphonique (dialer.exe) à partir
d'une interface à appeler depuis un répertoire, par exemple dans un tableur.

Il me faut donc détecter les fenêtres correspondantes pour déclencher un
chronomètre. FindWindow (par API n'est-ce pas ?) peut très bien me
détecter les fenêtres de la classe #32770, mais il y en a plusieurs :
"Server Recv Notify Data Win (ConfigFree)" (qui j'imagine appartient à
une autre application), "Aperçu", "Appel téléphonique - " suivi du nom
du correspondant, "État de l'appel". Je pourrais détecter les fenêtres
par leur nom (comme j'ai fait sans problème pour une version française),
l'ennui, s'agissant d'une application internationale, est que les
intitulés dépendent de la langue d'installation de Windows.

Y a-t-il un moyen de connaître par programme ces noms de façon à être
capable de détecter l'apparition de la fenêtre correspondante ? Ou en
est-on réduit à compter les numéros de fenêtres pour deviner à quelle
phase du traitement on en est ? Et à ce moment là comment savoir si le
numéroteur est déjà ouvert lors de l'appel du programme ? Détecter le
nom de l'exécutable ? Pour sûr si il y avait quelque chose de rationnel
pour viser chaque fenêtre à coup sûr ce serait quand même plus commode.
Avatar
Gloops
Bonjour,

Effectivement, ça peut être un point de départ intéressant, surto ut si
après on trouve EnumWindowsByProcess -si en plus les fenêtres arriven t
alors toujours dans le même ordre, à ce moment-là c'est gagné.

Je vais regarder du côté de EnumChildWindows, ce n'est pas forcémen t
aussi direct, mais ça devrait aider.

http://www.pinvoke.net/default.aspx/user32.EnumChildWindows

Ah, d'ailleurs là, on cite EnumWindowsProc, dans les "User-Defined
Types". Quelque chose d'intéressant à aller voir de près, dirait-on .


Merci pour l'idée.


___________________________________________
Vincent Poyo a écrit, le 24/01/2009 21:26 :
Bonjour,

Peut être que ceci ce convient ?

Process[] processes = Process.GetProcessesByName("dialer");

dialer étant le nom du process (de l'éxécutable) c'est de la lang ue

Cordialement,

Vincent.


"Gloops" a écrit dans le message de
news:O%
Bonjour tout le monde,

Je cherche à piloter le numéroteur téléphonique (dialer.exe) à partir
d'une interface à appeler depuis un répertoire, par exemple dans un
tableur.

Il me faut donc détecter les fenêtres correspondantes pour déclen cher un
chronomètre. FindWindow (par API n'est-ce pas ?) peut très bien me
détecter les fenêtres de la classe #32770, mais il y en a plusieurs :
"Server Recv Notify Data Win (ConfigFree)" (qui j'imagine appartient à
une autre application), "Aperçu", "Appel téléphonique - " suivi d u nom
du correspondant, "État de l'appel". Je pourrais détecter les fenê tres
par leur nom (comme j'ai fait sans problème pour une version frança ise),
l'ennui, s'agissant d'une application internationale, est que les
intitulés dépendent de la langue d'installation de Windows.

Y a-t-il un moyen de connaître par programme ces noms de façon à être
capable de détecter l'apparition de la fenêtre correspondante ? Ou en
est-on réduit à compter les numéros de fenêtres pour deviner à quelle
phase du traitement on en est ? Et à ce moment là comment savoir si le
numéroteur est déjà ouvert lors de l'appel du programme ? Détec ter le
nom de l'exécutable ? Pour sûr si il y avait quelque chose de ratio nnel
pour viser chaque fenêtre à coup sûr ce serait quand même plus commode.




Avatar
Vincent Poyo
Bonjour,

Sinon une solution est d'utiliser AutoIt, qui je trouve est super pour
simuler un utilisateur et donc manipuler une application, lire une valeur,
envoie d'un click, envoie d'une touche, ...

Reste à voir si celà peut être utiliser dans ton projet.

(ps : désolé pour la manière dont je me suis exprimé dans le premier
message, mais je discutais en même temps, et je ne me suis pas relu :-/ )

Vincent.

"Gloops" a écrit dans le message de
news:
Bonjour,

Effectivement, ça peut être un point de départ intéressant, surtout si
après on trouve EnumWindowsByProcess -si en plus les fenêtres arrivent
alors toujours dans le même ordre, à ce moment-là c'est gagné.

Je vais regarder du côté de EnumChildWindows, ce n'est pas forcément
aussi direct, mais ça devrait aider.

http://www.pinvoke.net/default.aspx/user32.EnumChildWindows

Ah, d'ailleurs là, on cite EnumWindowsProc, dans les "User-Defined
Types". Quelque chose d'intéressant à aller voir de près, dirait-on.


Merci pour l'idée.


___________________________________________
Vincent Poyo a écrit, le 24/01/2009 21:26 :
Bonjour,

Peut être que ceci ce convient ?

Process[] processes = Process.GetProcessesByName("dialer");

dialer étant le nom du process (de l'éxécutable) c'est de la langue

Cordialement,

Vincent.


"Gloops" a écrit dans le message de
news:O%
Bonjour tout le monde,

Je cherche à piloter le numéroteur téléphonique (dialer.exe) à partir
d'une interface à appeler depuis un répertoire, par exemple dans un
tableur.

Il me faut donc détecter les fenêtres correspondantes pour déclencher un
chronomètre. FindWindow (par API n'est-ce pas ?) peut très bien me
détecter les fenêtres de la classe #32770, mais il y en a plusieurs :
"Server Recv Notify Data Win (ConfigFree)" (qui j'imagine appartient à
une autre application), "Aperçu", "Appel téléphonique - " suivi du nom
du correspondant, "État de l'appel". Je pourrais détecter les fenêtres
par leur nom (comme j'ai fait sans problème pour une version française),
l'ennui, s'agissant d'une application internationale, est que les
intitulés dépendent de la langue d'installation de Windows.

Y a-t-il un moyen de connaître par programme ces noms de façon à être
capable de détecter l'apparition de la fenêtre correspondante ? Ou en
est-on réduit à compter les numéros de fenêtres pour deviner à quelle
phase du traitement on en est ? Et à ce moment là comment savoir si le
numéroteur est déjà ouvert lors de l'appel du programme ? Détecter le
nom de l'exécutable ? Pour sûr si il y avait quelque chose de rationnel
pour viser chaque fenêtre à coup sûr ce serait quand même plus commode.




Avatar
Gloops
Vincent Poyo a écrit, le 25/01/2009 12:36 :
Bonjour,

Sinon une solution est d'utiliser AutoIt, qui je trouve est super pour
simuler un utilisateur et donc manipuler une application, lire une
valeur, envoie d'un click, envoie d'une touche, ...

Reste à voir si celà peut être utiliser dans ton projet.



Apparemment intéressant, même si ça ne répond pas forcément à la question :)

Je me demande d'ailleurs si les gens pour qui c'est le plus intéressant
sont lecteurs de ce forum, bien qu'on puisse aussi être intéressé e n
tant que prescripteur. Il y a WinBatch, aussi, qui est pas mal.

http://www.winbatch.com/


(ps : désolé pour la manière dont je me suis exprimé dans le pr emier
message, mais je discutais en même temps, et je ne me suis pas relu : -/ )



Ah, tu parles de la fin ?
Boh, j'avais raccroché ...