Si je veux faire appara=EEtre un fichier texte dans le bloc notes, je peu=
x=20
ouvrir un processus pour =E7a :
System.Diagnostics.Process p =3D new System.Diagnostics.Process();
p.StartInfo.Arguments =3D path;
p.StartInfo.FileName =3D "C:\\Windows\\Notepad.exe";
p.Start();
et effectivement =E7a marche.
Si maintenant je veux faire appara=EEtre la fin du fichier, est-ce que je=
=20
suis toujours sur la bonne piste ?
A priori j'ai tendance =E0 chercher le hWnd de la fen=EAtre pour, version=
=20
flemme, la s=E9lectionner et y envoyer un SendKeys, ou, version un peu=20
plus rigoureuse, y envoyer un SendMessage.
Dois-je me baser sur le titre de la fen=EAtre, ou ai-je un moyen sans =E7=
a,=20
de conna=EEtre le hWnd de la fen=EAtre que je viens d'ouvrir ? Et pour me=
=20
baser sur le titre de la fen=EAtre, j'ai tendance =E0 appeler une API.=20
Mauvais r=E9flexe ?
Accessoirement le SendMessage, on le trouve o=F9 ? L'explorateur d'objets=
=20
me le trouve dans XmlQueryRuntime, j'ai un doute. Dans l'aide on trouve=20
une r=E9f=E9rence =E0 WindowsCEForms, n'est-ce pas r=E9serv=E9 =E0 certai=
ns terminaux ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Luc M.
> A priori j'ai tendance à chercher le hWnd de la fenêtre pour, version flemme, la sélectionner et y envoyer un SendKeys, ou, version un peu plus rigoureuse, y envoyer un SendMessage.
Je pense que dnas ton cas, p.Handle contient le handle.
Dois-je me baser sur le titre de la fenêtre, ou ai-je un moyen sans ça, de connaître le hWnd de la fenêtre que je viens d'ouvrir ? Et pour me baser sur le titre de la fenêtre, j'ai tendance à appeler une API. Mauvais réflexe ?
Je pencherai plutôt pour un envoi de message gebnre WM_SCROLL , mais je n'ai pas testé
-- Jean-Luc M.
> A priori j'ai tendance à chercher le hWnd de la fenêtre pour, version flemme,
la sélectionner et y envoyer un SendKeys, ou, version un peu plus rigoureuse,
y envoyer un SendMessage.
Je pense que dnas ton cas, p.Handle contient le handle.
Dois-je me baser sur le titre de la fenêtre, ou ai-je un moyen sans ça, de
connaître le hWnd de la fenêtre que je viens d'ouvrir ? Et pour me baser sur
le titre de la fenêtre, j'ai tendance à appeler une API. Mauvais réflexe ?
Je pencherai plutôt pour un envoi de message gebnre WM_SCROLL , mais je
n'ai pas testé
> A priori j'ai tendance à chercher le hWnd de la fenêtre pour, version flemme, la sélectionner et y envoyer un SendKeys, ou, version un peu plus rigoureuse, y envoyer un SendMessage.
Je pense que dnas ton cas, p.Handle contient le handle.
Dois-je me baser sur le titre de la fenêtre, ou ai-je un moyen sans ça, de connaître le hWnd de la fenêtre que je viens d'ouvrir ? Et pour me baser sur le titre de la fenêtre, j'ai tendance à appeler une API. Mauvais réflexe ?
Je pencherai plutôt pour un envoi de message gebnre WM_SCROLL , mais je n'ai pas testé
-- Jean-Luc M.
Gloops
Jean-Luc M. a écrit, le 23/05/2009 21:02 :
A priori j'ai tendance à chercher le hWnd de la fenêtre pour, vers ion flemme, la sélectionner et y envoyer un SendKeys, ou, version un peu plus rigoureuse, y envoyer un SendMessage.
Je pense que dnas ton cas, p.Handle contient le handle.
Ah, effectivement, voilà qui a au moins le mérite d'être simple, me rci.
Dois-je me baser sur le titre de la fenêtre, ou ai-je un moyen sans ça, de connaître le hWnd de la fenêtre que je viens d'ouvrir ? E t pour me baser sur le titre de la fenêtre, j'ai tendance à appeler une A PI. Mauvais réflexe ?
Je pencherai plutôt pour un envoi de message gebnre WM_SCROLL , mais je n'ai pas testé
Oui, en fait, dans SendMessage, il y a deux paramètres, si je ne m'abus e (en fait trois).
Un pour dire à quelle fenêtre on s'adresse, et le reste pour dire que l message on envoie (et le quantifier). Enfin je dis ça de mémoire, mai s je ne crois pas délirer trop.
D'accord on va envoyer un message WM_SCROLL, d'ailleurs j'irai voir la doc pour le troisième argument, mais pour le premier, p.Handle fera bie n l'affaire.
Donc, je n'ai plus qu'une API à appeler, ce sera SendMessage. Plus besoin de FindWindow.
Merci bien.
Jean-Luc M. a écrit, le 23/05/2009 21:02 :
A priori j'ai tendance à chercher le hWnd de la fenêtre pour, vers ion
flemme, la sélectionner et y envoyer un SendKeys, ou, version un peu
plus rigoureuse, y envoyer un SendMessage.
Je pense que dnas ton cas, p.Handle contient le handle.
Ah, effectivement, voilà qui a au moins le mérite d'être simple, me rci.
Dois-je me baser sur le titre de la fenêtre, ou ai-je un moyen sans
ça, de connaître le hWnd de la fenêtre que je viens d'ouvrir ? E t pour
me baser sur le titre de la fenêtre, j'ai tendance à appeler une A PI.
Mauvais réflexe ?
Je pencherai plutôt pour un envoi de message gebnre WM_SCROLL , mais je
n'ai pas testé
Oui, en fait, dans SendMessage, il y a deux paramètres, si je ne m'abus e
(en fait trois).
Un pour dire à quelle fenêtre on s'adresse, et le reste pour dire que l
message on envoie (et le quantifier). Enfin je dis ça de mémoire, mai s
je ne crois pas délirer trop.
D'accord on va envoyer un message WM_SCROLL, d'ailleurs j'irai voir la
doc pour le troisième argument, mais pour le premier, p.Handle fera bie n
l'affaire.
Donc, je n'ai plus qu'une API à appeler, ce sera SendMessage. Plus
besoin de FindWindow.
A priori j'ai tendance à chercher le hWnd de la fenêtre pour, vers ion flemme, la sélectionner et y envoyer un SendKeys, ou, version un peu plus rigoureuse, y envoyer un SendMessage.
Je pense que dnas ton cas, p.Handle contient le handle.
Ah, effectivement, voilà qui a au moins le mérite d'être simple, me rci.
Dois-je me baser sur le titre de la fenêtre, ou ai-je un moyen sans ça, de connaître le hWnd de la fenêtre que je viens d'ouvrir ? E t pour me baser sur le titre de la fenêtre, j'ai tendance à appeler une A PI. Mauvais réflexe ?
Je pencherai plutôt pour un envoi de message gebnre WM_SCROLL , mais je n'ai pas testé
Oui, en fait, dans SendMessage, il y a deux paramètres, si je ne m'abus e (en fait trois).
Un pour dire à quelle fenêtre on s'adresse, et le reste pour dire que l message on envoie (et le quantifier). Enfin je dis ça de mémoire, mai s je ne crois pas délirer trop.
D'accord on va envoyer un message WM_SCROLL, d'ailleurs j'irai voir la doc pour le troisième argument, mais pour le premier, p.Handle fera bie n l'affaire.
Donc, je n'ai plus qu'une API à appeler, ce sera SendMessage. Plus besoin de FindWindow.
Merci bien.
Gloops
Ah, il me semblait avoir répondu, tout-à-l'heure, mais je ne vois toujours pas ma réponse apparaître. Bon, peut-être que je la verrai demain matin, qui sait.
Effectivement, p.Handle, il n'y a pas plus simple, merci. ça répond aussi à l'autre question, du coup, le WM_SCROLL, c'est à p.Handle qu' on l'envoie.
Ah, oui, seulement, le seul souci, c'est que ça n'empêche pas le curs eur de rester parfaitement immobile, au début du fichier, et que je trouve que ce n'était pas le but.
J'ai bien déclaré le SendMessage de user32.dll, puis voici le code :
const int WM_SCROLL = 276; const int SB_BOTTOM = 7; SendMessage(p.Handle, WM_SCROLL, SB_BOTTOM, 0);
Du coup j'ai aussi essayé avec FindWindow mais ça n'a pas aidé. Ah au fait comme handle du processus j'ai 4c4, et comme handle de la fenêtre b1046 - je n'ai donc pas pu vérifier si une fois que ça mar che ça donne le même résultat avec l'un ou l'autre. __________________________________________ Jean-Luc M. a écrit, le 23/05/2009 21:02 :
A priori j'ai tendance à chercher le hWnd de la fenêtre pour, vers ion flemme, la sélectionner et y envoyer un SendKeys, ou, version un peu plus rigoureuse, y envoyer un SendMessage.
Je pense que dnas ton cas, p.Handle contient le handle.
Dois-je me baser sur le titre de la fenêtre, ou ai-je un moyen sans ça, de connaître le hWnd de la fenêtre que je viens d'ouvrir ? E t pour me baser sur le titre de la fenêtre, j'ai tendance à appeler une A PI. Mauvais réflexe ?
Je pencherai plutôt pour un envoi de message gebnre WM_SCROLL , mais je n'ai pas testé
Ah, il me semblait avoir répondu, tout-à-l'heure, mais je ne vois
toujours pas ma réponse apparaître. Bon, peut-être que je la verrai
demain matin, qui sait.
Effectivement, p.Handle, il n'y a pas plus simple, merci. ça répond
aussi à l'autre question, du coup, le WM_SCROLL, c'est à p.Handle qu' on
l'envoie.
Ah, oui, seulement, le seul souci, c'est que ça n'empêche pas le curs eur
de rester parfaitement immobile, au début du fichier, et que je trouve
que ce n'était pas le but.
J'ai bien déclaré le SendMessage de user32.dll, puis voici le code :
const int WM_SCROLL = 276;
const int SB_BOTTOM = 7;
SendMessage(p.Handle, WM_SCROLL, SB_BOTTOM, 0);
Du coup j'ai aussi essayé avec FindWindow mais ça n'a pas aidé.
Ah au fait comme handle du processus j'ai 4c4, et comme handle de la
fenêtre b1046 - je n'ai donc pas pu vérifier si une fois que ça mar che
ça donne le même résultat avec l'un ou l'autre.
__________________________________________
Jean-Luc M. a écrit, le 23/05/2009 21:02 :
A priori j'ai tendance à chercher le hWnd de la fenêtre pour, vers ion
flemme, la sélectionner et y envoyer un SendKeys, ou, version un peu
plus rigoureuse, y envoyer un SendMessage.
Je pense que dnas ton cas, p.Handle contient le handle.
Dois-je me baser sur le titre de la fenêtre, ou ai-je un moyen sans
ça, de connaître le hWnd de la fenêtre que je viens d'ouvrir ? E t pour
me baser sur le titre de la fenêtre, j'ai tendance à appeler une A PI.
Mauvais réflexe ?
Je pencherai plutôt pour un envoi de message gebnre WM_SCROLL , mais je
n'ai pas testé
Ah, il me semblait avoir répondu, tout-à-l'heure, mais je ne vois toujours pas ma réponse apparaître. Bon, peut-être que je la verrai demain matin, qui sait.
Effectivement, p.Handle, il n'y a pas plus simple, merci. ça répond aussi à l'autre question, du coup, le WM_SCROLL, c'est à p.Handle qu' on l'envoie.
Ah, oui, seulement, le seul souci, c'est que ça n'empêche pas le curs eur de rester parfaitement immobile, au début du fichier, et que je trouve que ce n'était pas le but.
J'ai bien déclaré le SendMessage de user32.dll, puis voici le code :
const int WM_SCROLL = 276; const int SB_BOTTOM = 7; SendMessage(p.Handle, WM_SCROLL, SB_BOTTOM, 0);
Du coup j'ai aussi essayé avec FindWindow mais ça n'a pas aidé. Ah au fait comme handle du processus j'ai 4c4, et comme handle de la fenêtre b1046 - je n'ai donc pas pu vérifier si une fois que ça mar che ça donne le même résultat avec l'un ou l'autre. __________________________________________ Jean-Luc M. a écrit, le 23/05/2009 21:02 :
A priori j'ai tendance à chercher le hWnd de la fenêtre pour, vers ion flemme, la sélectionner et y envoyer un SendKeys, ou, version un peu plus rigoureuse, y envoyer un SendMessage.
Je pense que dnas ton cas, p.Handle contient le handle.
Dois-je me baser sur le titre de la fenêtre, ou ai-je un moyen sans ça, de connaître le hWnd de la fenêtre que je viens d'ouvrir ? E t pour me baser sur le titre de la fenêtre, j'ai tendance à appeler une A PI. Mauvais réflexe ?
Je pencherai plutôt pour un envoi de message gebnre WM_SCROLL , mais je n'ai pas testé