Enregistrement handle fichier texte

Résolu
flamouth Messages postés 4 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 16 mars 2011 - 15 mars 2011 à 20:51
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 - 17 mars 2011 à 05:07
Bonsoir, depuis maintenant 2 jours je cherche comment faire pour enregistrer le handle d'une fenêtre ayant le focus dans un fichier texte. J'ai reussi seulement, j'ai un hic. Il me le réécrit toutes les demi secondes. Et moi je voudrai qu'il écrive seulement si le handle a changé.
Voici mon code:
#include <Windows.h>
#include <WinUser.h>
#include <stdlib.h>
#include
#include <fstream>

using namespace std;
int main(){
int x;
ofstream oFile;

HWND myHandle;
char myText[300];
wchar_t str[50];
x=0;
oFile.open("mylogdata.txt");
while(x==0){
myHandle = GetForegroundWindow();
::GetWindowTextA(myHandle,myText,sizeof myText)
oFile << myText << endl;
Sleep(500);
}
oFile.close();
}
J'ai vu et cherché sur la fonction if et else mais en réfléchissant sa colle pas, je suis perdu. Pouvez vous m'aider s'il vous plait ?. Merci

5 réponses

cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
15 mars 2011 à 23:31
salut,

Rien de compliqué là dedans.

int main(){
int x;
ofstream oFile;

HWND myHandle,saveHandle = -1;
char myText[300];
wchar_t str[50];
x=0;
oFile.open("mylogdata.txt");
while(x==0){
myHandle = GetForegroundWindow();
if(saveHandle != myHandle) {
::GetWindowTextA(myHandle,myText,sizeof myText)
oFile << myText << endl;
saveHandle = myHandle;
}
Sleep(500);
}
oFile.close();
}
3
flamouth Messages postés 4 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 16 mars 2011
16 mars 2011 à 18:26
Merci beaucoup, c'est vrai que quand j'y repense c'était pas compliqué. Enfin sa en aidera d'autre d'avoir un code entier qui fonctionne. Bonne soirée
0
flamouth Messages postés 4 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 16 mars 2011
16 mars 2011 à 19:37
Je viens de tester et saveHandle = -1; ne passe pas.
18. invalid conversion from `int' to `HWND__*'
donc cela vient de dev c++ ou d'autre chose?
0
flamouth Messages postés 4 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 16 mars 2011
16 mars 2011 à 19:46
suffit de retirer = -1 et sa fonctionne nikel. Encore merci et désolé pour le flood de messages inutile.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
17 mars 2011 à 05:07
re,

Je ne voulais pas l'initialiser a zero car GetForegroundWindow() pourrait retourner zero dans certains cas mais puisque Dev C++ estime que c'est un pointeur, laissons le s'exprimer.

@++
0
Rejoignez-nous