Wednesday, January 5, 2011

Terminate all running tasks

Q:  How do I terminate all running tasks?
A:  Below is some code that will help if you want to terminate ALL tasks,
    no questions asked.
A word of caution, before you run this for the first time, make sure
that you save it and anything else that may have some pending data.

procedure TForm1.ButtonKillAllClick(Sender: TObject);var
  pTask   : PTaskEntry;
  Task    : Bool;
  ThisTask: THANDLE;begin
  GetMem (pTask, SizeOf (TTaskEntry));
  pTask^.dwSize := SizeOf (TTaskEntry);

  Task := TaskFirst (pTask);
  while Task do
    if pTask^.hInst = hInstance then
      ThisTask := pTask^.hTask
      TerminateApp (pTask^.hTask, NO_UAE_BOX);
    Task := TaskNext (pTask);
  TerminateApp (ThisTask, NO_UAE_BOX);end;

Twitter Delicious Facebook Digg Stumbleupon Favorites More

Design by Kang Iwan K-sev | Thank's for your visit To My Site - Ridwan Mulyana | Cibeureum