GetWindowText, Code::Blocks & Visual C++

[Résolu]
Signaler
Messages postés
30
Date d'inscription
lundi 18 août 2008
Statut
Membre
Dernière intervention
20 octobre 2009
-
Messages postés
30
Date d'inscription
lundi 18 août 2008
Statut
Membre
Dernière intervention
20 octobre 2009
-
Bonjour à tous,

les mêmes lignes de code contenant "GetWindowText" fonctionnent sous Code::Blocks et pas sous Visual C++:

char

caption[255];

HWND handle;

........

GetWindowText(hwnd,caption,255);

printf(
"titre :%s\n\n", caption);

sous Code::Blocks ça me ramène le titre complet de la fenêtre
sous Visual C++ ça me ramène une seule lettre !

Merci d'avance pour votre aide...
A voir également:

4 réponses

Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
Il parait que ton projet Visual C++ utilise UNICODE. Remplace la ligne du printf() par:
MessageBox(0,caption,0,0);
Si le message affiché contient le titre complet de la fenêtre alors tu devras changer l'option du projet concernant UNICODE pour le désactiver. Par défaut, Visual Studio 2005 ou 2008 utilise UNICODE.
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Je travaille avec la version 2005. Je pense que c'est pareil.
- Ouvrir le menu "Project".
- Choisir "Project Properties...".
- Dans le volet gauche de la boite qui s'ouvre, cliquer sur "Configuration Properties".
- Dans le volet droit, cliquer sur la ligne "Character Set" et choisir "Not Set".
- Cliquer sur "Ok" pour finir.
Messages postés
30
Date d'inscription
lundi 18 août 2008
Statut
Membre
Dernière intervention
20 octobre 2009

Merci pour ta réponse,

mais comment fais-tu pour changer l'option du projet concernant UNICODE sour visual studio 2008?
Messages postés
30
Date d'inscription
lundi 18 août 2008
Statut
Membre
Dernière intervention
20 octobre 2009

ça marche ! Merci beaucoup