Bonjour à tous ceux qui me lisent,
Je suis débutant sous Lazarus (où plutôt Code Typhon pour les composants installés d'office...) et j'ai parcouru un bon nombre de pages web, lu beaucoup d'articles mais je n'arrive pas à me défaire de ce problème tout con mais pourtant bien réel...
A savoir que je souhaite récupérer le nom d'une fenêtre à l'écran quand ma souris passe dessus... rien de sorcier... là où je bloque, c'est que le texte qui m'est renvoyé comporte des ? à la place de chaque caractères accentués... j'ai beau essayer AnsitoUTF8() et autre UTF8Encode()... etc... Je ne comprends plus rien à force de lire à gauche à droite...
Je développe sur Windows 10 64-bits avec Code Typhon 5.70... La version de FPC est la 3.1.1.
J'utilise un timer, windowFromPoint et GetWindowText...
Voiçi mon code :
Il y a surement des erreurs... mais cela fonctionne en dehors du fait que je récupère un texte illisible dés qu'il y a a des accents ???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 procedure TForm1.Timer2Timer(Sender: TObject); var MPos: longint; TitleWnd:array[0..255] of char; TitreFenetre :string; begin MPos := WindowFromPoint(Mouse.CursorPos); LabelFenetre.Caption := 'Handle de la fenêtre courante : ' + IntToStr(MPos); GetWindowText(MPos, TitleWnd,255); TitreFenetre := TitleWnd; LabelNomFenetre.Caption := 'Nom de la fenêtre : ' + TitreFenetre; end;
Si quelqu'un peut me donner une explication ou une correction de ce code...
... et merci d'avance de m'avoir lu ;-)
Partager