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禁止在android上重复按下按钮

Delphi 删除确认对话框

Delphi net.httpclient正则批量获取网页代码中的数值

Delphi下获取系统默认的useragent的方法

Delphi 根据经纬度计算地球上两点之间的距离

Delphi android路径 tpath 文件路径,文件管理

Delphi 实现文件拖放完整代码

Delphi ttabcontrol在tabitem添加关闭按钮

Delphi 使richedit中的链接可以点击

Delphi 抓屏技巧

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



打赏

取消

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

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

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

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

评论

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