解决方案 »
- 如何让菜单不自动增加快捷键?
- 关于读取服务器端数据库的问题!!!
- 哪位高手知道?!!!
- 关于ReportBuilder做的报表打印时碰到的问题,不知道有没有哪位碰到过.
- 一段delphi的统计代码。有问题,青帮忙看看
- 各位大哥,能否给小弟提供一个针对DBGRID综合查询的模块,急,谢谢
- Delphi构建进销存系统——POS系统开发实例的源码谁有?
- 动态添加菜单的问题!有段代码老出错,往高手指点
- 快点帮帮我吧,很简单的一个问题。在线等待。。。。。。。。。。
- 高分求解?谁能够帮我???我会非常感激的!!!!!!
- delphi自定义函数procedure怎样设置一个变量,在调用时可输入也可不输入这个变量值?
- delphi数据库*表
Windows.KillTimer 注销Timer
如果别人Hook你的Timer,简单的可以这么避免建立一个线程procedure TTimerThread.Execute;
begin
FreeOnTerminate := True;
While not Terminated do begin
Sleep(和你的Timer相同的时间等待);
SendMessage(你的主窗口句柄 , 自定义消息如($111111) , 参数1,参数2);
end;
end;然后在你的主窗口响应这个消息就和Timer没区别了,这样拦截SetTimer,KillTimer就没用了,也不会用到WM_TIMER消息了,你还可以在主窗口响应中判断参数1,2是否有效来过滤掉一些非法的消息.
SendMessage(你的主窗口句柄 , 自定义消息如($111111) , 参数1,参数2);
可以替换成
Synchronize(DoIt);procedure TTimerThread.DoIt;
begin
Form1.Timer1Timer(nil);
end;