Enregistrement handle fichier texte [Résolu]

Signaler
Messages postés
4
Date d'inscription
mardi 31 mars 2009
Statut
Membre
Dernière intervention
16 mars 2011
-
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
-
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

Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
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();
}
Messages postés
4
Date d'inscription
mardi 31 mars 2009
Statut
Membre
Dernière intervention
16 mars 2011

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
Messages postés
4
Date d'inscription
mardi 31 mars 2009
Statut
Membre
Dernière intervention
16 mars 2011

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?
Messages postés
4
Date d'inscription
mardi 31 mars 2009
Statut
Membre
Dernière intervention
16 mars 2011

suffit de retirer = -1 et sa fonctionne nikel. Encore merci et désolé pour le flood de messages inutile.
Messages postés
1466
Date d'inscription
vendredi 2 janvier 2004
Statut
Modérateur
Dernière intervention
14 février 2014
1
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.

@++