在脚本执行子线程中,有一段打怪循环代码,没有操作和读取界面的任何数据 ,如果这段代码正在执行时,按了暂停线程的热键,就是导致辅助界面失去响应,按呼出和隐藏键都无效,但游戏界面正常。  
   线程用的是delphi线程类,想了一天,都没想到有什么好办法解决这个问题,求各位指点一下解决方法。 
   怎么样才可以在按了暂停键时,可以让子线程暂停和辅助界面不卡死。
    贴上其中一段循环代码:
          1:begin  
         LmonsterID:= FindRecentlyMonster;
         if LmonsterID > 0 then
         begin
           Lmonster := checkMonster(LmonsterID);
           AutoWalk((Lmonster.x+randinteger),(Lmonster.Y+randinteger));
           while ((Abs(Lmonster.X - CheckPlayer.x)>3) or (Abs(Lmonster.y - CheckPlayer.y) > 3)) and(CheckPlayer.ShengShi= 0) and (CheckPlayer.zhaixianzhantai=True) do    //and(FendBool=False)
           begin
             if FendBool = False then
             begin
               if CheckAutoWalk = 0 then
               begin
                AutoWalk((Lmonster.x+randinteger),(Lmonster.Y+randinteger));
                Delay(1000);
               end;
               if CheckAutoWalk = 0 then
               begin
                 Walk((Lmonster.x+randinteger),(Lmonster.Y+randinteger));
               end;
             end;
             Delay(1000);
           end;
           LDoGameNextIndexEvent :=1;
         end
         else
         LDoGameNextIndexEvent:= 2;
      end;