当前位置: 首页 > 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.

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 35_YOLOX网络详解
  • Python游戏开发之制作捕鱼达人游戏-附源码
  • 区块链和数据要素融合的价值及应用
  • zabbix发送钉钉报警
  • 【BUG】已解决:ModuleNotFoundError: No module named ‘requests‘
  • 【Python】Facebook开源时间序列数据预测模型Prophet
  • 《书生大模型实战营第3期》入门岛 学习笔记与作业:Python 基础知识
  • ChatGPT对话:关于训练模型h5格式和SavedModel格式的问题
  • 数据结构的概念和术语
  • 实战练习之Linux上实现shell脚本自动化编程
  • 【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第三篇 嵌入式Linux驱动开发篇-第五十一章 添加设备树节点
  • linux添加普通用户后无法使用K8S的kubectl命令怎么办/Linux普通用户管理K8S/Linux下普通用户无法使用K8S命令
  • PCL-基于超体聚类的LCCP点云分割
  • FFmpeg源码:av_probe_input_format3函数分析
  • element-plus时间组件el-date-picker只能选择当前及之前日期
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • [ JavaScript ] 数据结构与算法 —— 链表
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • Android交互
  • Brief introduction of how to 'Call, Apply and Bind'
  • chrome扩展demo1-小时钟
  • JavaScript 奇技淫巧
  • Javascript编码规范
  • javascript面向对象之创建对象
  • maya建模与骨骼动画快速实现人工鱼
  • PHP那些事儿
  • Redis中的lru算法实现
  • STAR法则
  • supervisor 永不挂掉的进程 安装以及使用
  • VUE es6技巧写法(持续更新中~~~)
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 观察者模式实现非直接耦合
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 如何实现 font-size 的响应式
  • 什么软件可以剪辑音乐?
  • 运行时添加log4j2的appender
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • # Apache SeaTunnel 究竟是什么?
  • #ifdef 的技巧用法
  • #QT(QCharts绘制曲线)
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (5)STL算法之复制
  • (rabbitmq的高级特性)消息可靠性
  • (不用互三)AI绘画工具应该如何选择
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (一)80c52学习之旅-起始篇
  • **CI中自动类加载的用法总结
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .cn根服务器被攻击之后
  • .net Application的目录
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • .NET Framework 服务实现监控可观测性最佳实践
  • .NET Windows:删除文件夹后立即判断,有可能依然存在