Cita:
Empezado por petete2008
La solución de escafandra no se por donde comenzar. Soy novato y sin ningún ejemplo que me guia me cuesta entenderlo. No obstante seguiré investigando.
Gracias.
|
Aquí tienes un ejemplo. De hecho, ése mismo ejemplo te sirve para lo que quieres con un par de pequeños cambios:
1. Agregar lkPrint al final de la declaración de TLockableKey:
Código Delphi
[-]
type
TLockableKey = (lkAltTab, lkAltEsc, lkCtrlEsc, lkAltF4, lkWin, lkApps, lkPrint);
2. Al final de la función KbdHook agregar el bloque correspondiente a lkPrint:
Código Delphi
[-]
function KbdHook(Code: Integer; WParam, LParam: DWORD): HHook; stdcall;
var
VkCode: DWORD;
AltDown: Boolean;
CtrlDown: Boolean;
begin
if Code = HC_ACTION then
begin
VkCode := PKbdHookInfo(LParam).VkCode;
AltDown := PKbdHookInfo(LParam).Flags and LLKHF_ALTDOWN <> 0;
CtrlDown := GetAsyncKeyState(VK_CONTROL) and LLKHF_CTRLDOWN <> 0;
if (VkCode = VK_SNAPSHOT) and (lkPrint in Keys) then
begin
Result := 1;
exit;
end;
end;
Result := CallNextHookEx(Hook, Code, WParam, LParam);
end;
// Saludos