Autor Beitrag
Quetzal90
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Di 22.06.10 00:08 
Hallo

Nach erfolgreichem hooken der ExtTextOut-Funktion bin ich inzwischen auf ein neues Problem gestoßen.
Und zwar gibt die Funktion nicht immer den String aus, der letztlich auf dem Bildschirm zu sehen ist.
Das wiederum scheint an einem Parameter der Funktion zu liegen und zwar ETO_GLYPH_INDEX.
Das internet sagt mir dazu:
"bei lpString wird die Rückgabe der GetCharacterPlacement-Funktion übergebeben" (www.vbarchiv.net)
lpString ist dabei der String den ich suche.
Hat jemand eine Ahnung was das was ausgegeben wir dann ist? und wie ich an den eigentlichen Text komme?
Also irgendwie muss man die Glyphs wieder in normale Characters umwandeln wenn ich das richtig sehe.
Weiß da wer was drüber?

Danke für jede Hilfe :)
Quetzal90 Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Do 24.06.10 23:06 
So für mich ist das Problem gelöst.
Hab festgestellt dass das lpString von der ExtTextOut-Funktion was nicht direkt lesbar ist aber einfach nur verschoben ist.
also ein A ist ein $ ein B ein % ein M eine 0 usw..
Wenn man die Asciiwerte nimmt fällt auf dass man nur auf den Asciiwert des Zeichens 29 drauf rechnen muss und man beim Asciiwert des gesuchten Zeichens ankommt, sprich:

Buchstabe:=chr(ord(Zeichen)+29);

Für mich reicht die Lösung so erstmal, wird aber wohl nicht in allen Fällen zutreffen, da ein "Glyph" scheinbar nicht zwingend nur einen Char ergibt und andersrum..

Quetzalcoatl