Registriert seit: 26. Nov 2003
Ort: Berlin
343 Beiträge
Delphi 2006 Professional
|
Re: away-Programm
2. Mär 2004, 19:34
Eintragung der Procedure zum versenden der simulierten Tasten:
Delphi-Quellcode:
type
TForm1 = class(TForm)
private
{ Private-Deklarationen }
procedure PostKeyEx32(key: Word; const shift: TShiftState; specialkey: Boolean);
public
{ Public-Deklarationen }
end;
Procedure für das versenden ! (unter implementation einfügen)
Delphi-Quellcode:
procedure PostKeyEx32(key: Word; const shift: TShiftState; specialkey: Boolean);
type
TShiftKeyInfo = record
shift: Byte;
vkey: Byte;
end;
byteset = set of 0..7;
const
shiftkeys: array [1..3] of TShiftKeyInfo =
((shift: Ord(ssCtrl); vkey: VK_CONTROL),
(shift: Ord(ssShift); vkey: VK_SHIFT),
(shift: Ord(ssAlt); vkey: VK_MENU));
var
flag: DWORD;
bShift: ByteSet absolute shift;
i: Integer;
begin
for i := 1 to 3 do
begin
if shiftkeys[i].shift in bShift then
keybd_event(shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0), 0, 0);
end; { For }
if specialkey then
flag := KEYEVENTF_EXTENDEDKEY
else
flag := 0;
keybd_event(key, MapvirtualKey(key, 0), flag, 0);
flag := flag or KEYEVENTF_KEYUP;
keybd_event(key, MapvirtualKey(key, 0), flag, 0);
for i := 3 downto 1 do
begin
if shiftkeys[i].shift in bShift then
keybd_event(shiftkeys[i].vkey, MapVirtualKey(shiftkeys[i].vkey, 0),
KEYEVENTF_KEYUP, 0);
end;
end;
Beispiel zum versenden:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
// Simuliert die Linke Windows taste
PostKeyEx32(VK_LWIN, [], False);
// Simuliert den Buchstaben D
PostKeyEx32(Ord('D'), [], False);
// Simuliert die Tastenkombination Strg-Alt-C
PostKeyEx32(Ord('C'), [ssctrl, ssAlt], False);
end;
Ist das von Swiss ich hoffe so hilft es dir mehr...
Christian Reber
|
|
Zitat
|