Delphi Base

WindSon

导航

Delphi编写的一款锁屏小工具

Delphi编写的一款锁屏小工具,双击程序立即锁屏,木有界面的。解除锁屏密码:alt+空格。

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Image1: TImage;
    Timer2: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
    procedure HotKeyDown(var Msg: Tmessage); message WM_HOTKEY;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  FullScreen : Tbitmap;
  FullScreenCanvas : TCanvas;
  DC : HDC;
  HotKeyId: Integer;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  HotKeyId := GlobalAddAtom('MyHotKey') - $C000;
  RegisterHotKey(Handle, hotkeyid, MOD_ALT, VK_SPACE);
  FullScreen := Tbitmap.Create;
  FullScreen.Width := screen.Width;
  FullScreen.Height := Screen.Height;
  DC := GetDC(0);
  FullScreenCanvas := TCanvas.Create;
  FullScreenCanvas.Handle := DC;
  FullScreen.Canvas.CopyRect(Rect(0, 0, Screen.Width, Screen.Height), FullScreenCanvas, Rect(0, 0, Screen.Width, Screen.Height));
  FullScreenCanvas.Free;
  ReleaseDC(0, DC);
  Image1.Picture.Bitmap := FullScreen;
  image1.Width := FullScreen.Width;
  Image1.Height := FullScreen.Height;
  FullScreen.Free;
  //*****************************************

  Form1.Left := 0;
  Form1.Top := 0;
  Form1.Width := Screen.Width;
  Form1.Height := Screen.Height;
  Image1.Left := 0;
  Image1.Top := 0;
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
 SetWindowPos(handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE + SWP_NOMOVE);  //当前窗口置顶
end;

procedure TForm1.HotKeyDown(var Msg: Tmessage);
begin 
if (Msg.LparamLo = MOD_ALT) AND (Msg.LParamHi = VK_SPACE) then // 热键为ALT+空格
begin
    Application.Terminate;              //窗口结束
     UnRegisterHotKey(handle, HotKeyId); //释放热键资源
end;
end;
end.

 

posted on 2020-03-16 16:21  windsonvip  阅读(591)  评论(0编辑  收藏  举报