📄 stop_cad.dpr
字号:
library STOP_CAD;
uses
Windows;
{$R *.res}
const
WM_HOTKEY = $0312;
var
FHandle : THandle;
OldAppProc : Pointer;
function HookProc(hHandle: THandle; uMsg: Cardinal; wParam, lParam: Integer): LRESULT; stdcall;
var
K, C: Word;
begin
Result := 0;
case uMsg of
WM_HOTKEY :
begin
K := HIWORD(lParam);
C := LOWORD(lParam);
if (C and VK_CONTROL<>0) and (C and VK_MENU <>0) and ( K = VK_Delete)
then Exit; { disable Ctrl + Alt + Del}
end;
else Result := CallWindowProc(OldAppProc, hHandle, uMsg, wParam, lParam);
end;
end;
procedure EntryPointProc(Reason: Integer);
begin
case reason of
DLL_PROCESS_ATTACH:
begin {hook SAS window wndproc}
FHandle := FindWindow('SAS window class', 'SAS window');
if not IsWindow(FHandle) then Exit;
{ save old wndproc}
OldAppProc := Pointer(GetWindowLong(FHandle, GWL_WNDPROC));
{ set new wndproc }
SetWindowLong(FHandle, GWL_WNDPROC, Cardinal(@HookProc));
end;
DLL_PROCESS_DETACH:
begin
if FHandle > 0 then
begin {unhook}
if Assigned(OldAppProc) then
SetWindowLong(FHandle, GWL_WNDPROC, LongInt(OldAppProc));
OldAppProc := nil;
end;
end;
end;
end;
begin
OldAppProc := nil;
FHandle := 0;
DllProc := @EntryPointProc;
EntryPointProc(DLL_PROCESS_ATTACH);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -