写了一个提醒程序做成系统服务。运行得倒是没有问题,每隔3秒检查一下时间,时间到了就提醒。但是发现每3秒光标旁边就会出现一次沙漏。我的任务在ServiceMain()中调用:
ServiceMain();stdcall;里面涉及我的任务的是下面这样的
while true do
begin
Sleep(3000);
Myfunc();//时间到了没?
end;怎么才能不让沙漏出现呢?
ServiceMain();stdcall;里面涉及我的任务的是下面这样的
while true do
begin
Sleep(3000);
Myfunc();//时间到了没?
end;怎么才能不让沙漏出现呢?
解决方案 »
- 证卡打印机打印卡片问题?
- 今天,被一条短信难住了,我如掉进冰洞里...
- 请高手指导一下DrawDibDraw函数的使用?
- TTreeView:想让它在可编辑的情况下(Readonly=false),不让它自身的编辑框出现(因为我想放个自已的编辑框),有没可能,怎样做?3Q
- 在线等...
- 最近做一个项目,涉及远程查询问题. 先大家给个参考.
- Delphi6做报表:如何把QuickRep2加在QuickRep1中?
- 请教分组统计问题
- 一个关于分组报表的问题
- word文档转成HTML显示>>
- delphi中嵌入了b/s网页,其他机器都正常,但是在一台新安装的windows XP机器上打开该页面看到的是一片空白,这是为啥了?
- 雪MM来这也
或者你是不是用了这个?
screen.cursor:=crHourGlass
没有使用screen.cursor这样的语句。程序没生成窗体,只有messagebox。
Timer.Interval = 3000;
procedure TForm1.Timer1Ontimer(Sender: TObject);
begin
Myfunc();//时间到了没?
end;2、把
while true do
begin
Sleep(3000);
Myfunc();//时间到了没?
end;
放到线程里执行,让Sleep只阻塞这个线程3、检查程序是不是有
screen.cursor:=crHourGlass代码存在,查找一下
begin
Sleep(3000);
Myfunc();//时间到了没?
end;
放到线程里执行.
这个提议值得考虑。我看看,研究一下怎么把它放到线程里。
while true do
begin
Application.processmessage;
Sleep(3000);
Myfunc();//时间到了没?
end;
这一句是什么意思呢?
使用的单元只有Windows,winsvr,shellapi.
风险大的