unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, XPMan, StdCtrls;
type
TForm1 =
class(TForm)
edt5: TEdit;
Label1: TLabel;
Image1: TImage;
edt6: TEdit;
edt7: TEdit;
edt8: TEdit;
edt9: TEdit;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
procedure FormCreate(Sender: TObject);
private
procedure WmHotkey(
var Msg: TMessage);
message WM_HOTKEY;
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
//Text umwandeln in Keybd_event Code
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;
procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotKey(
Handle, 1, MOD_CONTROL
or MOD_SHIFT, $35);
RegisterHotKey(
Handle, 2, MOD_CONTROL
or MOD_SHIFT, $36);
RegisterHotKey(
Handle, 3, MOD_CONTROL
or MOD_SHIFT, $37);
RegisterHotKey(
Handle, 4, MOD_CONTROL
or MOD_SHIFT, $38);
RegisterHotKey(
Handle, 5, MOD_CONTROL
or MOD_SHIFT, $39);
end;
//Senden per Hotkey
procedure TForm1.WmHotkey(
var Msg: TMessage);
begin
if (Msg.WParam = 1)
then
begin
if edt5.text <> ('
')
then
begin
EnterText(edt5.text);
end
else ShowMessage ('
Sie haben für diesen Hotkey noch keinen Text eingegeben.');
end;
if (Msg.WParam = 2)
then
begin
if edt6.text <> ('
')
then
begin
EnterText(edt6.text);
end
else ShowMessage ('
Sie haben für diesen Hotkey noch keinen Text eingegeben.');
end;
if (Msg.WParam = 3)
then
begin
if edt7.text <> ('
')
then
begin
EnterText(edt7.text);
end
else ShowMessage ('
Sie haben für diesen Hotkey noch keinen Text eingegeben.');
end;
if (Msg.WParam = 4)
then
begin
if edt8.text <> ('
')
then
begin
EnterText(edt8.text);
end
else ShowMessage ('
Sie haben für diesen Hotkey noch keinen Text eingegeben.');
end;
if (Msg.WParam = 5)
then
begin
if edt9.text <> ('
')
then
begin
EnterText(edt9.text);
end
else ShowMessage ('
Sie haben für diesen Hotkey noch keinen Text eingegeben.');
end;
end;
end.