AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi ToAscii verändert Zustand der Tastatur
Thema durchsuchen
Ansicht
Themen-Optionen

ToAscii verändert Zustand der Tastatur

Ein Thema von Shaman · begonnen am 19. Sep 2007 · letzter Beitrag vom 31. Mai 2010
 
Benutzerbild von Shaman
Shaman

Registriert seit: 2. Nov 2003
Ort: Schweiz
407 Beiträge
 
Turbo Delphi für Win32
 
#1

ToAscii verändert Zustand der Tastatur

  Alt 19. Sep 2007, 21:09
Hey there

Ich habe Probleme, bei einem Keylogger mit diakritischen Zeichen umzugehen. Wenn ich den KeyCode, welcher mir korrekt vom Hook geliefert wird, über ToAscii umwandle, werden Zeichen wie ^ ´ ¨ nicht mehr richtig ausgegeben.

Ich habe das auf ein kleines Testprogramm runtergebrochen. Ich möchte im OnKeyDown eines Memos anhand des KeyCodes die Zeichen finden, die nachher im OnKeyPress im Memo erscheinen:

Delphi-Quellcode:
type
  DChar = array[0..1] of Char;

function VKeyToChar(vkCode: Word; out Buffer: DChar): Integer;
var
  KS: TKeyboardState;
  I: Integer;
begin
  GetKeyboardState(KS);
  Buffer:= #0#0;
  Result:= ToAscii(vkCode, MapVirtualKey(vkCode, 2), KS, @Buffer, 0);
end;

procedure TMainForm.Memo1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  B: DChar;
begin
  Edit1.Text:= IntToStr(Key);
  if VKeyToChar(Key, B) >= 0 then
    Edit2.Text:= B
  else
    Edit2.Text:= '[DEAD]';
end;
Problem: Wenn z.B. ^ gedrückt wird, liefert VKeyToChar '^^', aber im Memo selbst ändert sich nichts...
Kann mir hier jemand weiterhelfen?
Angehängte Dateien
Dateityp: zip toasciitest_206.zip (216,1 KB, 6x aufgerufen)
Daniel Pauli
Looking for answers from the great beyond
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz