begin process at 2012 05 30 09:01:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

SendMessage et Live Messenger


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

SendMessage et Live Messenger

vendredi 7 août 2009 à 20:44:59 | SendMessage et Live Messenger

oshin

Salut à tous,

Le code suivant fonctionne sur Notepad (Bloc-notes) mais ne fonctionne avec aucun autre programme, Live Messenger, Wordpad, Outlook, etc..

J'ai récupèrer la Class d'une fenêtre Live messenger et l'est adapté au code mais rien à faire... il n'écrit rien !

(DirectUIHWND correspond à la Class de la zone texte de WLM et IMWindowClass à la fenêtre de conversation)

Avez vous une idée ?

Merci

#include <windows.h>



int WINAPI WinMain(HINSTANCE a,HINSTANCE b, LPSTR c, int d)

{

HWND notepad, editbox;
const char *texte = "Bienvenue";


if((notepad = FindWindow("IMWindowClass", 0))){
if((editbox = FindWindowEx(notepad, 0, "DirectUIHWND", 0))){
while(*texte){
SendMessage(editbox, WM_CHAR, *texte++, 0);
}
}
}

return 0;

}

vendredi 7 août 2009 à 21:05:49 | Re : SendMessage et Live Messenger

juju12

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);

vendredi 7 août 2009 à 21:09:02 | Re : SendMessage et Live Messenger

juju12

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.

vendredi 7 août 2009 à 21:41:59 | Re : SendMessage et Live Messenger

oshin

Et bien c'est ça le problème...

C'est bien IMWindowClass car si je fais WM_CLOSE avec un autre morceau de code, je ferme la fenêtre de conversation...

Je parle d'une fenêtre de conversation avec un contact pas la fenetre principal de live messenger!

Quelqu'un aurait une idée du problème ?

Compilé le sous DevC++! =)

vendredi 7 août 2009 à 21:43:47 | Re : SendMessage et Live Messenger

oshin

Je confirme, MSBLWindowClass = Fenêtre principale de Windows Live messenger..

vendredi 7 août 2009 à 22:07:26 | Re : SendMessage et Live Messenger

oshin

Je viens d'essayer sur outlook 2007, idem, impossible d'écrire dans une fenêtre de nouveau message. Pareil Wordpad..
Je comprends pas le problème!


De l'aideeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
Je suis sur le problème depuis deux jours, je vais mourir :(

vendredi 7 août 2009 à 22:51:14 | Re : SendMessage et Live Messenger

rt15

Membre Club Administrateur CodeS-SourceS

Salut,

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à.

samedi 8 août 2009 à 00:59:45 | Re : SendMessage et Live Messenger

oshin

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

De l'aide SVP !

samedi 8 août 2009 à 01:20:54 | Re : SendMessage et Live Messenger

juju12

Ben c'est étrange... ceci fonctionne parfaitement chez moi (XP fam. SP3), en versions ANSI et Unicode.

Code C/C++ :

__int32 __stdcall WinMain(HINSTANCE,HINSTANCE,LPSTR,int)
{
HWND hWnd=FindWindowA("IMWindowClass",0);
if(!hWnd) return 0;
HWND hCWnd=FindWindowExA(hWnd,0,"DirectUIHWND",0);
if(!hCWnd) return 1;
return (__int32)hCWnd;
}



Cette discussion est classée dans : texte, sendmessage, messenger, live, notepad


Répondre à ce message

Sujets en rapport avec ce message

SendMessage, gerer les majuscules [ par tshupaka ] Voila ! j'aimerais savoir comment je peux envoyer un texte en majuscule sur une fenetre dont j'ai le handle. Avec SendMessage(hdl,WM_KEYDOWN... je peu editeur de texte pour gros fichiers [ par yepla75 ] Salut les gens,Un problème du notepad (et aussi word, wordpad), c'est que pour ouvrir de gros fichiers texte (>100Mo), ça rame, voire ça plante.Si on windows live messenger [ par PetiteAnge ] Salut tout le monde,J'ai un problème avec Windows Live Messenger, au debut il me dit ke le fichier sirenacm.dll est introuvable alors jlé téléchargé e API windows [ par rivaldinho ] Salut, j'utilise ce bout de code pour récupérer en temps réel le texte écrit sur notepad: HWND hWnd, hWnd2; // Handles de fenêtre     DWORD size, size windows live messenger [ par titi9166 ] bonjours voila j'aurais aimer avoir un logiciel qui m'aurait permis d'espionner en quelque sorte un contact msn et pouvoir le gerer de cher moi autant SendMessage et écriture dans notepad [ par hilairenicolas ] Bonjour à tous,je voudrais que mon programme écrive une phrase dans une fenetre (notepad par exemple), mais je ne sais pas quel message lui envoyer. c probleme setdlgitemtext [ par sleeper41 ] Bonjour à tous.Voila en fait je ne comprends certaines choses.Donc je me suis inspiré d un exemple sur ce forum pour ecrre du texte dns notepad.Je fai Interaction MSN [ par wxccxw ] Salut,je cherche a faire une interaction avec WINDOWS LIVE MESSENGER 8j'ai trouver ce code http://www.cppfrance.com/codes/INTERACTIONS-MSN-MESSENGER_3 Lecture de fichier texte [ par vba_blitz ] Bonjour, avec le code ci dessous, je recupere les donnees d'un fichier comprenant 2 colonnes. Mais ce code ne recupere pas la premiere ligne et recupe


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,210 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales