home *** CD-ROM | disk | FTP | other *** search
/ PC-X 1997 October / pcx14_9710.iso / swag / delphi.swg / 0002_Terminate Running Apps.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1995-11-22  |  782 b   |  33 lines

  1.  
  2. Q:  How do I terminate all running tasks?
  3.  
  4. A:  Below is some code that will help if you want to terminate ALL tasks,
  5.     no questions asked.
  6.  
  7. A word of caution, before you run this for the first time, make sure
  8. that you save it and anything else that may have some pending data.
  9.  
  10.  
  11. procedure TForm1.ButtonKillAllClick(Sender: TObject);
  12. var
  13.   pTask   : PTaskEntry;
  14.   Task    : Bool;
  15.   ThisTask: THANDLE;
  16. begin
  17.   GetMem (pTask, SizeOf (TTaskEntry));
  18.   pTask^.dwSize := SizeOf (TTaskEntry);
  19.  
  20.  
  21.   Task := TaskFirst (pTask);
  22.   while Task do
  23.   begin
  24.     if pTask^.hInst = hInstance then
  25.       ThisTask := pTask^.hTask
  26.     else
  27.       TerminateApp (pTask^.hTask, NO_UAE_BOX);
  28.     Task := TaskNext (pTask);
  29.   end;
  30.   TerminateApp (ThisTask, NO_UAE_BOX);
  31. end;
  32.  
  33.