Ik heb daar ook last mee gehad, en dit is wat ik toen gedaan heb (gekregen heb van iemand, gezien het commentaar?) in de applicatie key handler;
Delphi Code:
procedure TRootMain.ApplicationEvents1ShortCut(var Msg: TWMKey;
var Handled: Boolean);
var
RawMessage: TMessage;
fkey,shift : integer;
begin
// Debug: Log de tijd in een memo op het main form om te zien of het werkt.
// Memo1.Lines.Insert(0, DateTimeToStr(Now));
// Gebruik een 'normale' TMessage omdat dat makkelijker is.
RawMessage:= TMessage(Msg);
// Die is namelijk eventueel te typecasten naar een speciaal daarvoor
// gemaakt record. Je kunt natuurlijk ook rechtstreeks de WParam en LParam
// van Msg gaan ontleden, maar dit is makkelijker.
if (msg.CharCode >=VK_F1) and (msg.CharCode <=VK_F12) e then
begin
fkey:=msg.charcode-vk_f1;
shift:=0;
if HiByte(GetKeyState(VK_SHIFT))>0 then inc(shift,1);
if (HiByte(GetKeyState(VK_MENU))>0) then inc(shift,2);
if (HiByte(GetKeyState(VK_CONTROL))>0) then inc(shift,4);
basehandling.keyevent(fkey,shift); // mijn eigen keyhandler.
Bookmarks