全局热键的问题。

ymxuymxu 2011-08-23 10:14:32
要实现的功能为:按F11停止,按F10运行repeat...until中间的代码,编译时按F10能执行repeat...until之间的代码,但按下F11后并不会停止,没有跳出循环,仍然执行repeat...until中间的代码,我这样做为什么不行?各位大虾有会好办法没?

F10 F11已经注册为热键。

procedure TForm1.hotkey(var msg:tmessage); //热键响应事件
var
bool:boolean;
begin
if msg.LParamHi=vk_f11
then bool:=true;
if msg.LParamHi=vk_f10
then begin
repeat
.....
until bool=true;
   end;
end;
...全文
106 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ymxuymxu 2011-08-25
  • 打赏
  • 举报
回复
倒底怎么用啊,那位说一下?
rainychan2009 2011-08-24
  • 打赏
  • 举报
回复
同意LZ上,主线程一直跑,就无法及时响应外部的东西
hongss 2011-08-24
  • 打赏
  • 举报
回复
同意楼上的。

死循环的循环体内加上Application.ProcessMessages;试试。

我用
  while True do
begin
Application.ProcessMessages;
if IfExit then break;
Working;
end;


是可以的
一如当初 2011-08-24
  • 打赏
  • 举报
回复
在循环里加上 Application.ProcessMessages; 试试
ymxuymxu 2011-08-24
  • 打赏
  • 举报
回复
我试了一下,把2楼的代码加到我的代码中,不行啊,可能是我没加对,具体怎么加啊,拜托了,谢谢。
ymxuymxu 2011-08-24
  • 打赏
  • 举报
回复
问下2楼的,你那个代码里面的ifexit 是什么意思?

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧