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.
相关文章:

Delphi5实现鱼C屏幕保护程序
效果图 鱼C屏幕保护程序 添加背景图片 在additional添加image组件,修改picture属性上传图片。 这个图片可以截屏桌面,方便后面满屏不留白操作。实现无边框 即上面的“- □ ”不显示 将Form1的borderstyle属性改为bsnone实现最大化,满屏 将…...

【计算机毕业设计】844学籍管理系统
🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板ÿ…...

Java之开发 系统设计 分布式 高性能 高可用
1、restful api 基于rest构建的api 规范: post delete put get 增删改查路径 接口命名 过滤信息状态码 2、软件开发流程 3、命名规范 类名:大驼峰方法名:小驼峰成员变量、局部变量:小驼峰测试方法名:蛇形命名 下划…...
java连接redis和基础操作命令
引入依赖 <!--引入java连接redis的驱动--><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.3.1</version></dependency> 单机模式连接redis main(){ //连接redis的信息 默认连接…...

土耳其云手机提升TikTok电商效率
在数字化飞速发展的今天,TikTok不仅是一个社交平台,更是一个巨大的电商市场。随着TikTok电商功能在全球范围内的扩展,土耳其的商家和内容创作者正面临着前所未有的机遇。本文将详细介绍土耳其云手机怎样帮助商家抓住机遇,实现业务…...

《Utilizing Ensemble Learning for Detecting Multi-Modal Fake News》
系列论文研读目录 文章目录 系列论文研读目录论文题目含义ABSTRACTINDEX TERMSI. INTRODUCTIONII. RELATED WORKA. FAKE NEWS CLASSIFICATION APPROACHES FOR SINGLE-MODALITY 单模态虚假新闻分类方法1) SINGLE-MODALITY BASED CLASSIFICATION APPROACHES USING TEXTUAL FEATUR…...

Oracle集群RAC磁盘管理命令asmcmd的使用
文章目录 ASM磁盘共享简介ASM磁盘共享的优势ASM磁盘组成ASM磁盘共享的应用场景Asmcmd简介Asmcmd的功能Asmcmd的命令Asmcmd的使用注意事项Asmcmd运行模式交互模式运行非交互模式运行ASMCMD命令分类实例管理命令:文件管理命令:磁盘组管理命令:模板管理命令:文件访问管理命令:…...
vscode插件开发笔记——大模型应用之AI编程助手
系列文章目录 文章目录 系列文章目录前言一、代码补全 前言 最近在开发vscode插件相关的项目,网上很少有关于大模型作为AI 编程助手这方面的教程。因此,借此机会把最近写的几个demo分享记录一下。 一、代码补全 思路: 读取vscode插件上鼠…...

@JSONField(format = “yyyyMMddHH“)的作用和使用
JySellerItqrdDataDO对象中的字段为: private Date crdat; 2.数据库中的相应字段为: crdat datetime DEFAULT NULL COMMENT 创建时间,2. 打印出的结果为: “crdat”:“2024072718” 年月日时分秒 3. 可以调整format的格式 4. 这样就把Date类…...
计算机网络 6.1Internet概念
第六章 Internet基础 第一节 Internet概念 一、认识Internet 1.定义:集现代计算机技术、通信技术于一体的全球性计算机互联网。 2.地位:当今世界上规模最大的计算机互联网。 3.使用协议:TCP/IP。 4.基本结构: ①主干网…...

编写SpringBoot的自定义starter包
starter项目 先来看一下Starter的官方解释: Spring Boot Starter 是一种方便的依赖管理方式,它封装了特定功能或技术栈的所有必要依赖项和配置,使得开发者可以快速地将这些功能集成到Spring Boot项目中。Spring Boot官方提供了一系列的Star…...

【LeetCode:3106. 满足距离约束且字典序最小的字符串 + 贪心】
🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…...

25 Python常用函数——reduce()
在 Python 3.x 中,reduce() 不是内置函数,而是放到了标准库 functools 中,需要先导入再使用。 标准库 functools 中的函数 reduce() 可以将一个接受两个参数的函数以迭代累积的方式从左到右依次作用到一个序列或迭代器对象的所有元素上&#…...

oracle登录报“ORA-27101: shared memory realm does not exist”
oracle登录报“ORA-27101: shared memory realm does not exist” 问题: 1、使用ip:1521/服务名方式连库报错" ORA-27101: shared memory realm does not exist Linux-x86_64 Error: 2: No such file or directory" 2、sqlplus XX/密码 可以登录数据库 …...

界面控件Telerik UI for WPF 2024 Q2亮点 - 全新的AIPrompt组件
Telerik UI for WPF拥有超过100个控件来创建美观、高性能的桌面应用程序,同时还能快速构建企业级办公WPF应用程序。UI for WPF支持MVVM、触摸等,创建的应用程序可靠且结构良好,非常容易维护,其直观的API将无缝地集成Visual Studio…...
IT服务运营过程中的资源要素管理(至简)
在IT服务运营管理过程中,所有资源要投入正式、连续、稳定运行,要保持规范化的管理和标准化的操作,具体包括工具管理、知识管理、服务台管理与评价、备件库管理等内容。 一、工具管理 1、工具的基本运营。见下表: 工具的基本运营…...
wodpress设置固定链接的方式和好处【SEO优化】
设置固定链接的好处 提高用户体验:固定链接使得网址更加直观和易于记忆,用户可以更容易地分享和访问文章。 优化SEO:搜索引擎更倾向于索引具有清晰结构的网址,固定链接有助于提高网站的SEO表现。 避免URL重复:固定链…...
【C#】 CancellationTokenSource 与Thread的启动、取消的区别?
1.Thread的使用 Thread的使用参考:【C#】Thread的使用 2.CancellationTokenSource 的使用 CancellationTokenSource在C#中用于取消长时间运行的操作,如异步或后台任务。它允许你从外部请求一个操作的取消,并且被取消的操作可以通过检查Ca…...

基于 HTML+ECharts 实现智慧运维数据可视化大屏(含源码)
智慧运维数据可视化大屏:基于 HTML 和 ECharts 的实现 在现代企业中,运维管理是确保系统稳定运行的关键环节。随着数据量的激增,如何高效地监控和分析运维数据成为了一个重要课题。本文将介绍如何利用 HTML 和 ECharts 实现一个智慧运维数据可…...
AIGC(Artificial Intelligence Generated Content)
随着人工智能技术的飞速发展,AIGC(Artificial Intelligence Generated Content)在各个领域的应用日益广泛,其中也包括前端开发的重要部分——CSS(层叠样式表)的优化。CSS作为网页设计中控制布局和样式的关键…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...

关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...

Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...

android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...