Delphi解决DLL注入桌面卡的问题


本文整理自网络,侵删。

 //完整代码

library showDLL;

uses
SysUtils,
Windows,
DateUtils,
Graphics;

var
ThreadHandle : THandle;//声明句柄
ThreadID : DWORD;//线程ID

{判断是否为星期六}
function RequestDate:Boolean;
var
s:Integer;
begin
s := DayOfTheWeek(Now);
if s = 1 then
begin
Result := True;
end
else
Result := False;
end;

{判断是否在八点半后}
function RequestTime:Boolean;
const
x = 13;
y = 54;
var
c,q,r,hm:word; //拆分时间 对比 用亲爱的的名字缩写 怀念呀 呵呵
xianzai:tdatetime; //赋值用 现在时间 用于获取 对比
begin
xianzai := Now;
DecodeTime(xianzai,c,q,r,hm); //拆分时间
if (c >= x) and (q >= y) then
begin
Result := True;
end
else
Result := False;
end;

{整合表演时间}
function IsShowTime:Boolean;
begin
if (RequestDate = True) and (RequestTime = True) then
begin
Result := True;
end
else
Result := False;
end;

//写字到屏幕
procedure WriteScreen(Text :string);
var
Cvs :TCanvas;
// I :Integer;
begin
Cvs := TCanvas.Create;
Cvs.Handle := GetDC(0);
Cvs.Brush.Style := bsClear;
Cvs.Font.Color := clRed;
Cvs.Font.Size := 30;
Cvs.Font.Name := '宋体';
Cvs.Font.Style := [fsBold];
Cvs.TextOut(500,400,Text);
ReleaseDC(0, Cvs.Handle);
Cvs.Free;
end;

function ThreadProc(into:Pointer):Integer;stdcall;
begin
repeat
begin
// MessageBox(0,'Yes','警告',MB_ICONEXCLAMATION);
Sleep(5000);
end;
until IsShowTime = True;
WriteScreen('我爱你。溶溶');
end;

begin
ThreadHandle := CreateThread(nil,0,@ThreadProc,nil,0,ThreadID);
end.

相关阅读 >>

Delphi xe5 Delphi 解析 json

Delphi mediaplayer 左声道右声道

Delphi fmx jpg 保存数据库 从数据库读取

Delphi md5加密字符串

Delphi xe6开发的android应用实现在线升级完成后自动安装apk代码

Delphi memo1 自定义位置插入

Delphi debug模式下可以但是release模式下报错原因之一

解决Delphi程序在非中文系统下乱码

Delphi xe listbox 行高根据内容高度进行调速

Delphi console 清屏代码

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...