Chez moi, la fenêtre principale est de classe MSBLWindowClass; t'es sûr que t'as sélectionné la bonne? (la fenêtre fille est de classe DirectUIHWND donc on parle bien de la même chose).
Ceci fonctionne très bien:
HWND hWnd=FindWindow("MSBLWindowClass",0);
Heu finalement, non, on ne parle peut-être pas de la même chose.
En tous cas, le code est censé fonctionner. Si ça marche pas, c'est pas la bonne classe, ou bien la fenêtre n'est pas top-level.
Il faut que tu connaisses l'arborescence des fenêtres de l'application cible avec précision, de manière à pouvoir écrire un bout de code qui passe de handle en handle jusqu'à tomber sur le bon.
Spy++ fournit avec VS le fait très bien. Mais vu que tu as Dev-Cpp, tu l'as peut être pas. Donc essaie de trouver une alternative, genre celle-là.
J'utilise WinID qui m'indique plutôt bien les Class et tout.
J'ai analyser un peu le probleme, et c'est le suivant :
if((notepad FindWindow("IMWindowClass", 0))){ > Ici il trouve bien IMWindowClasse puisque un Sleep(9999999) arrête le programme
if((editbox FindWindowEx(notepad, 0, "DirectUIHWND", 0))){ > Parcontre ici, il ne trouve pas DIRECTUIHWND.. puis qu'un Sleep ou n'importe quel autre instruction n'arrête pas le programme...
Comment ça se fait ? WinId m'indique bien DirectUIHWND lorsque j'ai le curseur sur la zone de saisie dans la fenêtre de conversation.. ! Je ne vois pas quoi d'autre faire :o