MainWindowHandle d'une fenêtre
Bonjour, j'ai deja poster une discussion sur le clavier visuel pour appeler celui natif a l'OS installé.
Maintenant j'aimerais récupéré le MainWindowHandle de la fenêtre du clavier visuel pour pouvoir faire ensuite un MoveWindow() ou autre.
Vous allez me dire, " Ta juste a prendre ton objet Process et faire :"
Code:
1 2 3
|
// process osk
intptr M_handle = osk.MainWindowHandle(); |
Mais maleuresement ceci est trop facile :) et sa ne fonctionne pas, j'ai donc utilisé :
Code:
IntPtr winResize = FindWindow(null, "Clavier visuel");
Ceci fonctionne avec visual et sur une autre de mes machines MAIS PAS sur un windows seven qui n'a pourtant aucune particularité ! ( 32 bits )
Sur cette machine, le waitInputforIdle ne marche pas non plus, j'ai donc opté pour un
Citation:
Thread.sleep(500);
qui lui fonctionne sur mon 64 bits.
En gros cela donne :
Code:
1 2 3 4 5 6
| if (osk.Responding)
{
Thread.Sleep(500);
IntPtr winResize = FindWindow(null, "Clavier visuel");
MoveWindow(winResize,...);
} |
A oui aussi, j'ai essayer GetProcessByName("osk")
Je retrouve bien mon "osk.exe" mais quand j'espionne le MainWindowHandle, il est égale à 0 donc impossible de se servir de sa a part pour kill l'osk.
Une idée, un conseil, une solution alternative ?
Merci
KevDeta