J'ai développé une appli qui écrit dans un Edit d'une autre :
Ca marche sous XP mais pas sous Vista ! Quelqu'un a-t-il une info ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part SendMessage(w1, WM_SETTEXT, 0, (long)c);
Merci.
J'ai développé une appli qui écrit dans un Edit d'une autre :
Ca marche sous XP mais pas sous Vista ! Quelqu'un a-t-il une info ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part SendMessage(w1, WM_SETTEXT, 0, (long)c);
Merci.
C'est le même exécutable que tu lances sous XP puis sous Vista ou deux exécutables différents (mais éventuellement même code source) ? Dans le premier cas je ne comprends pas moi non plus ce qui se passe. Si tu fais de compilations différentes pour chaque système, l'erreur vient de ton programme lui-même. En effet :
- Le dernier paramètre de SendMessage n'est pas long mais LPARAM.
- c doit être l'adresse d'un TCHAR (et nous on ne sait pas comment tu l'as déclaré ...).
Exemple :
Tu peux d'ailleurs aussi utiliser tout simplement SetWindowText au lieu de SendMessage(..., WM_SETTEXT, ...).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 TCHAR MonTexte[] = TEXT("Mon texte"); ... SendMessage(w1, WM_SETTEXT, 0, (LPARAM)MonTexte);
Merci de ta réponse.
J'écris en C++ Builder6. Au départ il s'agissait de deux exe.
Maintenant j'ai copié l'exe compilé sous sous xp vers vista pour essayer. Même comportement.
Je vais essayer ton autre solution.
Je vais vérifier aussi les handles de l'appli destinataire car elle a semble-t-il été installée différemment sous vista.
A noter que le controle du menu de l'appli destinataire fonctionne.
A bientôt.
Déjà, es-tu sûr que l'appli destinataire n'est pas Admin?
Car si c'est le cas, tu as un conflit de sécurité...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Je débute sous Vista. L'appli à piloter est TeamViewer.exe (démarré en 32 bits) (http://www.teamviewer.com/fr/download/index.aspx).
J'essaie d'y mettre dans un Edit l'ID d'un poste à prendre en main à distance à partir d'une autre appli.
Lorsque je le fais à la main Vista ne pose pas de question (donc pas admin?).
A noter qu'un WM_GETTEXT me retourne bien le contenu de l'Edit.
Un WM_SETFOCUS active bien l'Edit.
Encore plus fort : WM_CHAR écrit bien dans l'Edit. Cela règle mon problème, mais ne résoud pas l'énigme.
A bientôt.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager