当前位置: 首页 > news >正文

Delphi5实现鱼C屏幕保护程序

效果图

鱼C屏幕保护程序

添加背景图片

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

在这里插入图片描述

实现无边框

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

将Form1的borderstyle属性改为bsnone

实现最大化,满屏

将windowstate属性改为wsMaximized

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

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

//窗体生成时
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)) of0: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)) of0: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);
beginif(key=VK_SPACE)and (flag=True) thenbeginedt1.Visible:=True;btn1.Visible:=True;end;
end;

确认密码,触发新的时钟

//按下按钮,确认解锁密码
procedure TForm1.btn1Click(Sender: TObject);
beginif(edt1.Text=mima)and (n>0)thenCloseelseif(n>0)thenbeginMessageBox(Handle,'密码错误','警告',MB_OK or MB_ICONSTOP);n:=n-1;endelsebeginMessageBox(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);
beginflag:=True;n:=2;//关闭第二个时钟,不让它继续重置tmr2.Enabled:=False;btn1.Enabled:=True;
end;

免费在线视频裁剪、转gif

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

在这里插入图片描述

完整代码

unit screenprotect;interfaceusesSysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,Dialogs, Forms,Form, Formprpt, jpeg, ExtCtrls, dxGDIPlusClasses, StdCtrls;typeTForm1 = 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;varForm1: 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)) of0: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)) of0: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);
beginif(key=VK_SPACE)and (flag=True) thenbeginedt1.Visible:=True;btn1.Visible:=True;end;
end;//按下按钮,确认解锁密码
procedure TForm1.btn1Click(Sender: TObject);
beginif(edt1.Text=mima)and (n>0)thenCloseelseif(n>0)thenbeginMessageBox(Handle,'密码错误','警告',MB_OK or MB_ICONSTOP);n:=n-1;endelsebeginMessageBox(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);
beginflag:=True;n:=2;//关闭第二个时钟,不让它继续重置tmr2.Enabled:=False;btn1.Enabled:=True;
end;end.
http://www.lryc.cn/news/408309.html

相关文章:

  • 【计算机毕业设计】844学籍管理系统
  • Java之开发 系统设计 分布式 高性能 高可用
  • java连接redis和基础操作命令
  • 土耳其云手机提升TikTok电商效率
  • 《Utilizing Ensemble Learning for Detecting Multi-Modal Fake News》
  • Oracle集群RAC磁盘管理命令asmcmd的使用
  • vscode插件开发笔记——大模型应用之AI编程助手
  • @JSONField(format = “yyyyMMddHH“)的作用和使用
  • 计算机网络 6.1Internet概念
  • 编写SpringBoot的自定义starter包
  • 【LeetCode:3106. 满足距离约束且字典序最小的字符串 + 贪心】
  • 25 Python常用函数——reduce()
  • oracle登录报“ORA-27101: shared memory realm does not exist”
  • 界面控件Telerik UI for WPF 2024 Q2亮点 - 全新的AIPrompt组件
  • IT服务运营过程中的资源要素管理(至简)
  • wodpress设置固定链接的方式和好处【SEO优化】
  • 【C#】 CancellationTokenSource 与Thread的启动、取消的区别?
  • 基于 HTML+ECharts 实现智慧运维数据可视化大屏(含源码)
  • AIGC(Artificial Intelligence Generated Content)
  • 02 MySQL数据库管理
  • C++编程: 使用 Nanomsg 进行 PUB-SUB 模式基准测试
  • 【Unity2D 2022:Data】读取csv格式文件的数据
  • 美团测开面经整理大汇总!!
  • 微信公众号获取用户openid(PHP版,snsapi_base模式)
  • DuckDB核心模块揭秘 | 第1期 | 向量化执行引擎之Pipeline
  • Vue如何让用户通过a链接点击下载一个excel文档
  • 美摄科技企业级视频拍摄与编辑SDK解决方案
  • MySQL:增删改查、临时表、授权相关示例
  • 初识git工具~~上传代码到gitee仓库的方法
  • Redis知识点总价