(Moderator)
Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
Delphi 2006 Professional
|
Re: keybd_event und spezialzeichen (/ , .)
12. Jun 2006, 17:23
Ich hab mir jetzt mal die Arbeit gemacht das ganze wie es korrekt ist in eine Funktion zu packen (ich hoffe die gibts nicht schon zig mal):
Delphi-Quellcode:
procedure EnterText(AText: String);
var lCount : Integer;
lScanCode : Smallint;
lWithAlt,
lWithCtrl,
lWithShift : Boolean;
begin
for lCount := 1 To Length(AText) Do
begin
lScanCode := VkKeyScan(AText[lCount]);
//Ermitteln ob Shift gedrückt wurde
lWithShift := lScanCode and (1 shl 8) <> 0;
//Ermitteln ob Strg gedrückt wurde
lWithCtrl := lScanCode and (1 shl 9) <> 0;
//Ermitteln ob Alt gedrückt wurde
lWithAlt := lScanCode and (1 shl 10) <> 0;
if lWithShift then
keybd_event(VK_SHIFT, 0, 0, 0);
if lWithCtrl then
keybd_event(VK_CONTROL, 0, 0, 0);
if lWithAlt then
keybd_event(VK_MENU, 0, 0, 0);
keybd_event(lScanCode, 0, 0, 0);
keybd_event(lScanCode, 0, KEYEVENTF_KEYUP, 0);
if lWithAlt then
keybd_event(VK_MENU, 0, KEYEVENTF_KEYUP, 0);
if lWithCtrl then
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
if lWithShift then
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
end;
end;
Jens Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
|
|
Zitat
|