bonjour,
je peux savoir si visual c++ peux communiquer avec un autre logiciel, en fait c'est un logiciel de supervision est je veux r�cup�rer les donn�es pour pouvoir les modifier.
merci d'avance pour vos reponses.:king:
Version imprimable
bonjour,
je peux savoir si visual c++ peux communiquer avec un autre logiciel, en fait c'est un logiciel de supervision est je veux r�cup�rer les donn�es pour pouvoir les modifier.
merci d'avance pour vos reponses.:king:
tu veux cr�er un programme pour exploiter des donn�es pr�sentes dans un autre logiciel ?
en fait je dois cre� une interface soft qui peux lire donn�es d'un autre logiciel
le logiciel n'offre pas de syst�me pour s'interfacer avec lui ? (fichiers xml, apis, etc ...)
donc tu pense que ce n'est pas possible de faire une interface avec visual c qui peux aller �crire des donn�es dans ce logiciel
je pense que c'est pas la meilleure facon.
Sinon, oui, grace aux handles, tu peux aller r�cuperer le contenu d'interface d'autres logiciels si les champs sont �l�mentaires (textbox, static, edit, etc ...)
ca devient compliqu� et c'est souvent de la bidouille.
donc tu n'as pas une autre solution pour pouvoir exploiter les donn�es d'un autre logiciel et pouvoir les modifier
et c'est quoi un handles stp?
si, la solution serait d'utiliser findwindow, getwindowtext, etc ... pour localiser la fenetre, les controles et lire le contenu
c'est quoi un findwindow et getwindowtext, tu n 'aurais pas un exemple de programme qui utilise findwindow.
merci
fais une recherche sur le forum, il y en a plein
dans la faq visual C++ aussi
supposons que je connais l'adresse de stockage de l'autre logiciel, est ce que tu pense que je peux aller directement lire et changer les donn�es avec visual C.
c'est quoi l'adresse de stockage ?
en fait je veux dire l'adresse ou l'autre logiciel stocke les variables que je dois modifier tu vois se que je veux dire ou pas?
tu parles d'une adresse en m�moire ?
oui
normalement, les zones de m�moires d'un processus sont prot�g�es de la lecture d'autres. On peut y arriver plus ou moins grace � une injection de code, mais c'est un processus plutot compliqu�.
Tu as abandonn� la lecture directe depuis l'interface ?
ok d'acord. en fait je ne comprends pas trop comment utiliser findwindow, getwindowtext, etc. est ce que tu peux m'expliquer un peux ce que sa veux dire stp et comment sa marche stp.
merci beaucoup
FindWindows va te permettre de r�cuperer un handle de fenetre, ou de controle
un exemple :
ouvre la calculatrice de windows XP, rentre un nombre
et execute ca
ca va t'afficher la valeur du champ editCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 HWND h = FindWindow(TEXT("SciCalc"), NULL); if (h) { HWND hEdit = FindWindowEx(h, NULL, TEXT("Edit"), NULL); if (hEdit) { int len = (int)SendMessage(hEdit, WM_GETTEXTLENGTH, 0, 0); if (len) { TCHAR * text = new TCHAR[len + 1]; SendMessage(hEdit, WM_GETTEXT, len, (LPARAM)text); MessageBox(NULL, text, TEXT(""), 0); delete text; } } }
ya des erreurs quand j'ex�cute le programme:cry:
ok c bon sa marche:yaisse2:
et pour aller ecrire des donn�s on fait comment?