当前位置:   article > 正文

Delphi5实现鱼C屏幕保护程序

Delphi5实现鱼C屏幕保护程序

效果图

鱼C屏幕保护程序

添加背景图片

在additional添加image组件,修改picture属性上传图片。
这个图片可以截屏桌面,方便后面满屏不留白操作。
  • 1
  • 2

在这里插入图片描述

实现无边框

即上面的“- □ ×”不显示

将Form1的borderstyle属性改为bsnone
  • 1

实现最大化,满屏

将windowstate属性改为wsMaximized
  • 1

将图片固定住、输入框和按钮隐藏

使用Form1的events的oncreate事件,双击命名为FormCreate

//窗体生成时
procedure TForm1.FormCreate(Sender: TObject);
begin
   //设置图片位置
   img1.Left:=0;
   img1.Top:=0;
   //将输入框和按钮隐藏
   btn1.Visible:=False;
   edt1.Visible:=False;
end;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

设置一个时钟,定时移动标签

procedure TForm1.tmr1Timer(Sender: TObject);
begin
  //置顶这个保护程序,让它很难被kill掉
  SetWindowPos(Handle,HWND_TOPMOST,0,0,0,0,SWP_NOSIZE+swp_nomove);
  //随机生成标签的位置
  lbl1.Left:=Random(2000);
  lbl1.Top:=Random(1000);
  //随机生成标签字体的大小
  lbl1.Font.Size:=Random(50);
  //随机标签字体的颜色
  case (Random(5)) of
    0:lbl1.Font.color:=clRed;
    1:lbl1.Font.color:=clGreen;
    2:lbl1.Font.color:=clYellow;
    3:lbl1.Font.color:=clBlack;
    4:lbl1.Font.color:=clOlive;
  end;
  //随机标签的颜色
  case (Random(5)) of
    0:lbl1.color:=clWhite;
    1:lbl1.color:=clGray;
    2:lbl1.color:=clNavy;
    3:lbl1.color:=clBlue;
    4:lbl1.color:=clFuchsia;
  end;
end;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

取消按钮和输入框的隐藏

//按下按键,取消按钮和输入框的隐藏
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if(key=VK_SPACE)and (flag=True) then
     begin
       edt1.Visible:=True;
       btn1.Visible:=True;
     end;
end;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

确认密码,触发新的时钟

//按下按钮,确认解锁密码
procedure TForm1.btn1Click(Sender: TObject);
begin
  if(edt1.Text=mima)and (n>0)then
    Close
  else
    if(n>0)then
      begin
        MessageBox(Handle,'密码错误','警告',MB_OK or MB_ICONSTOP);
        n:=n-1;
      end
    else
      begin
        MessageBox(Handle,'错误太多次了,请稍后再尝试','警告',MB_OK or MB_ICONSTOP);
        flag:=False;
        //让确认按钮变灰
        btn1.Enabled:=False;
        //第二个时钟起作用,触发第二个时钟
        tmr2.Enabled:=True;
      end;
end;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

实现等待时间功能

//每9秒这个时钟重置一下输入标记和输入次数
//将timer的interval属性设置为9000
procedure TForm1.tmr2Timer(Sender: TObject);
begin
  flag:=True;
  n:=2;
  //关闭第二个时钟,不让它继续重置
  tmr2.Enabled:=False;
  btn1.Enabled:=True;
end;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

免费在线视频裁剪、转gif

今天用到这个网站进行简单的剪辑,不需要登录,页面也很简洁。

在这里插入图片描述

完整代码

unit screenprotect;

interface

uses
  SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  Dialogs, Forms,Form, Formprpt, jpeg, ExtCtrls, dxGDIPlusClasses, StdCtrls;

type
  TForm1 = class(MForm)
    tmr1: TTimer;
    img1: TImage;
    lbl1: TLabel;
    edt1: TEdit;
    btn1: TButton;
    tmr2: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure tmr1Timer(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure btn1Click(Sender: TObject);
    procedure tmr2Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  mima:string='yucbaohu';
  n:Integer=2;
  //用来标记是否能输入密码,因为输错3次就得等一段时间才能输入
  flag:Boolean=True;

implementation

{$R *.DFM}

//窗体生成时
procedure TForm1.FormCreate(Sender: TObject);
begin
   //设置图片位置
   img1.Left:=0;
   img1.Top:=0;
   //将输入框和按钮隐藏
   btn1.Visible:=False;
   edt1.Visible:=False;
end;

//设置一个时钟,定时移动标签
procedure TForm1.tmr1Timer(Sender: TObject);
begin
  //置顶这个保护程序,让它很难被kill掉
  SetWindowPos(Handle,HWND_TOPMOST,0,0,0,0,SWP_NOSIZE+swp_nomove);
  //随机生成标签的位置
  lbl1.Left:=Random(2000);
  lbl1.Top:=Random(1000);
  //随机生成标签字体的大小
  lbl1.Font.Size:=Random(50);
  //随机标签字体的颜色
  case (Random(5)) of
    0:lbl1.Font.color:=clRed;
    1:lbl1.Font.color:=clGreen;
    2:lbl1.Font.color:=clYellow;
    3:lbl1.Font.color:=clBlack;
    4:lbl1.Font.color:=clOlive;
  end;
  //随机标签的颜色
  case (Random(5)) of
    0:lbl1.color:=clWhite;
    1:lbl1.color:=clGray;
    2:lbl1.color:=clNavy;
    3:lbl1.color:=clBlue;
    4:lbl1.color:=clFuchsia;
  end;
end;

//按下按键,取消按钮和输入框的隐藏
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if(key=VK_SPACE)and (flag=True) then
     begin
       edt1.Visible:=True;
       btn1.Visible:=True;
     end;
end;

//按下按钮,确认解锁密码
procedure TForm1.btn1Click(Sender: TObject);
begin
  if(edt1.Text=mima)and (n>0)then
    Close
  else
    if(n>0)then
      begin
        MessageBox(Handle,'密码错误','警告',MB_OK or MB_ICONSTOP);
        n:=n-1;
      end
    else
      begin
        MessageBox(Handle,'错误太多次了,请稍后再尝试','警告',MB_OK or MB_ICONSTOP);
        flag:=False;
        //让确认按钮变灰
        btn1.Enabled:=False;
        //第二个时钟起作用,触发第二个时钟
        tmr2.Enabled:=True;
      end;
end;

//每9秒这个时钟重置一下输入标记和输入次数
//将timer的interval属性设置为9000
procedure TForm1.tmr2Timer(Sender: TObject);
begin
  flag:=True;
  n:=2;
  //关闭第二个时钟,不让它继续重置
  tmr2.Enabled:=False;
  btn1.Enabled:=True;
end;

end.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/894445
推荐阅读
相关标签
  

闽ICP备14008679号