Einzelnen Beitrag anzeigen

Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#1

Fenstertitel mit Sonderzeichen auslesen [Beantwortet]

  Alt 21. Aug 2008, 09:33
Guten Morgen,

ich habe hier ein kleines Problem, auf das ich momentan keine Lösung finde.
Und zwar möchte ich den Titel eines Fensters mithilfe eines Handles auslesen.
Das richtige Handle und den Titel bekomm ich auch schon.
Nur das Problem besteht jetzt darin, dass der Titel komische Sonderzeichen enthalten kann, die ich brauche.
(Dazu ein Beispiel im Anhang)
Wenn ich diese Sonderzeichen auslese wird bei einigen ein "?" angezeigt. (zB bei "Ѝ")
Bei sowas wie ¿ funktioniert es jedoch.

Mein momentaner Code zum auslesen des Fenstertitels: (Hier aus der DP, ich mein von Luckie)
Delphi-Quellcode:
function TForm1.GetText(Wnd: HWND): WideString;
var
  textlength: Integer;
  Text: PChar;
begin
  textlength := SendMessage(Wnd, WM_GETTEXTLENGTH, 0, 0);
  if textlength = 0 then Result := ''
  else
  begin
    GetMem(Text, textlength + 1);
    SendMessage(Wnd, WM_GETTEXT, textlength + 1, Integer(Text));
    Result := Text; // Hier Steht in Text schon der falsche Titel mit den Fragezeichen
    FreeMem(Text);
  end;
end;
Beispiel: (Anhang)
Code:
Handle:                                   "986848"
Fenstertitel:                             "¿oOЍЦЙήμλγ.txt - Editor"
Mit meinem Code ausgelesener Fenstertitel: "¿oO????μ??.txt - Editor"
So, wie bekomm ich jetzt den richtigen Titel raus?
Hab auch schon WinSpy getestet und der findet das leider auch so.

Hoffe hier hat jemand eine Lösung.
Danke.

Mfg,
spawn

Edit:
Super, danke!
So einfach war´s.
Frage innerhalb von ~viertel Stunde geklärt.
Miniaturansicht angehängter Grafiken
findwintest_194.png  
  Mit Zitat antworten Zitat