[C] api windows wm_gettext

Fermé
jaky1212 Messages postés 126 Date d'inscription mardi 25 août 2009 Statut Membre Dernière intervention 4 mars 2013 - 20 sept. 2009 à 20:38
mamiemando Messages postés 33344 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 7 novembre 2024 - 22 sept. 2009 à 21:31
Bonsoir,
je code un programme C sous vista avec les api de windows. je récupère le texte d'une fenêtre de classe RICHEDIT avec la fonction suivante SendMessage(hwnd,WM_GETTEXT,100000,(LPARAM)RicheditContenu);
Sous vista pas de problème mais sous xp le texte placé dans RicheditContenu et vide !
Avez vous déjà eu le même problème ?
merci a++

5 réponses

mamiemando Messages postés 33344 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 7 novembre 2024 7 803
21 sept. 2009 à 10:34
Pour le SendMessage il faudrait t'assurer qu'il n'y a pas de problème au niveau de tes paramètres si ce n'est pas déjà fait.

Jamais eu le problème mais tu peux essayer cette fonction :
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getdlgitemtexta?redirectedfrom=MSDN

Le nIDDlgItem correspond à l'ID que tu associes à ton contrôle. Sinon tu peux essayer des librairies graphiques genre QT qui ont un peu plus de cachet (code portable vers d'autres plate-formes, plus simple à utiliser etc...).

Bonne chance
0
N'importe quoi.
Qt pour un appel api, il faut le faire !!
surtout Qt, qui n'est plus utilisé sur le marché depuis des lustres ! (licences, lenteur, etc)
0
mamiemando Messages postés 33344 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 7 novembre 2024 7 803 > Marco
21 sept. 2009 à 17:15
Mais non ce n'est pas ce que j'ai dit. J'ai dit : pour faire de la GUI QT c'est bien mais on oublie les send message et tout le bazar spécifique à windows.

Qt n'est pas lent, c'est une idée reçue. En témoigne de nombreux exemples comme par exemples skype ou KDE (si tu regardes KDE4 par exemple tu as un environnement aussi fourni que windows, plus joli et plus performant). Typiquement sur mon PC KDE4 tourne sans problème là ou vista n'aurait aucune chance de tourner pour un résultat similaire. Donc ça ne doit pas être si lent que ça.

En terme de licences là aussi tu t'égares car tu as toujours pu utiliser QT comme bon te semble du moment que tu ne fais pas une application commerciale. De nos jours QT est désormais en LGPL :
https://fr.wikipedia.org/wiki/Licence_publique_g%C3%A9n%C3%A9rale_limit%C3%A9e_GNU

La LGPL autorise de lier le programme sous cette licence à du code non LGPL, sans pour autant révoquer la licence. Cette Licence LGPL permet donc de s'affranchir du caractère héréditaire de la licence GPL. C'est donc plus précisément la clause de copyleft que n'a pas la LGPL.

Ainsi, il devient possible à un programmeur désireux de faire un logiciel propriétaire, d'utiliser certains outils du monde libre (ex : la bibliothèque graphique GTK ou nouvellement Qt (depuis la version 4.5)) sans contraindre son logiciel à l'être également. Cependant, toute modification de code source dans la bibliothèque LGPL devra être également publiée sous la licence LGPL. Ce cas d'utilisation est défini par le paragraphe 5 de la licence LGPL (« work that uses the library »).

Il est également autorisé de passer à la licence LGPL par simple mise à jour des notifications de licences.


Donc moi j'ai rien contre les gens qui disent "n'importe quoi" mais il faudrait prendre un peu le temps de se renseigner au préalable...
0
mika > mamiemando Messages postés 33344 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 7 novembre 2024
22 sept. 2009 à 11:55
Non, Qt, c'est en effet n'importe quoi, surtout pour envouyer un message !
Il n'y a quasiment aucun appels d'offres en Qt sur le marché français depuis des années !
0
Louis > mamiemando Messages postés 33344 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 7 novembre 2024
22 sept. 2009 à 11:57
> Qt n'est pas lent, c'est une idée reçue

Euh, c'est une plaisanterie ?
Qt est d'une lenteur catastrophique car ne fait pas d'appels apis Système, surtout sous windows, c'est une calamité !
Même Google US l'a reconnu !!!
0
mamiemando Messages postés 33344 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 7 novembre 2024 7 803 > Louis
22 sept. 2009 à 21:31
Sous windows j'en sais rien mais je n'ai pas spécialement de problème avec des applis qt sous windows. Sous linux ça marche sans problème. Moi je te parle de trucs concrets. Lance un KDE4 sous linux c'est fait entièrement en QT et tu verras qu'il n'y a aucun problème de performance. Ceci dit ta remarque m'intéresse, j'aimerais bien voir la référence à ce que tu dis en message privé.

Pour tes questions sur les performances, tu parles peut-être de vieilles versions.
http://labs.trolltech.com/blogs/2009/03/03/performance-and-qt-45/

Maintenant si on peut revenir au problème de départ... Moi j'ai juste suggéré QT comme ça, je ne dis pas que c'est la solution ultime mais ça a le mérite d'être simple et portable.
0
Pour l'api, voir chez les pros de l'api https://www.ovh.co.uk/mail/
(surtout ce genre de question, çarevient tous les mois depuis 15 ans...)
0
jaky1212 Messages postés 126 Date d'inscription mardi 25 août 2009 Statut Membre Dernière intervention 4 mars 2013 8
21 sept. 2009 à 20:52
steph tes pros de l'api ... dsl mais ça fais 15 conversations que je poste, a chaque fois on me dit d'aller sur ce lien alors c'est un peu naz quoi quand on sait pas répondre à la question on répond pas !

Sinon je suis d'accord avec toi mamamiendo ;) vive Qt ! Merci je vais utiliser la fonction que tu m'as donné, sa fait plaisir de voir que des gens s'y connaisse et répondent (pas comme steph :) dsl mais c soulant )

Merciiiiiiiii
0
Hallucinant de voir des réponses pareilles !!!
Steph prend la peine de te rediriger vers le bon groupe (où il ya a ceux qui ont développé Windows en plus !) et toi tu n'es même pas fichu d'y aller poser la question !
Si tu ne veux pas de bonne réponse, en même temps, c'est ton problème...
0
Ben c'est le lien de référence si tu veux avoir une réponse officielle sur l'api, vu que ce sont eux (MS) qui l'ont crée, tiens !!
En plus tu poses des questions dont tout le monde sur le groupe connait la réponse depuis des lustres.
On te donne où trouver la bonne réponse et tu n'y vas pas, c'est incompréhensible comme attitude...
0
mamiemando Messages postés 33344 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 7 novembre 2024 7 803
21 sept. 2009 à 20:57
Bah de rien. Mais ça ne sert à rien de dire à quelqu'un que ce qu'il dit est naze, en général ça le vexe, ça envenime le fil de discussion et après je suis obligée de modérer. Dis-lui simplement que ça ne répond pas à ta question.

Poiur en revenir à cette histoire d'API, si tu as le choix dans ton projet, il est peut-être encore temps de faire l'interface en QT au lieu d'utiliser tout en API win32 ? Au final on perd un tel temps a utiliser l'API microsoft que ça vaut peut être le coup de porter ton travail en QT ? Bref à toi de voir, sinon la fonction que je t'ai indiqué résoudra peut être ton problème.

Bonne chance
0

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

Posez votre question
jaky1212 Messages postés 126 Date d'inscription mardi 25 août 2009 Statut Membre Dernière intervention 4 mars 2013 8
22 sept. 2009 à 16:28
Mais oui^^ Moi aussi je connais la réponse c'est dans -> www.google.fr les pros sur tout, réponse à tout
0