Subversion Repositories Kolibri OS

Rev

Rev 5598 | Rev 6708 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. #ifndef INCLUDE_RESTART_PROCESS_H
  2. #define INCLUDE_RESTART_PROCESS_H
  3.  
  4. #ifndef INCLUDE_KOLIBRI_H
  5. #include "../lib/kolibri.h"
  6. #endif
  7.  
  8. enum {
  9.         MULTIPLE,
  10.         SINGLE
  11. };
  12.  
  13. :int CheckProcessExists(dword proc_name) {
  14.         int i;
  15.         proc_info Process;
  16.         for (i=0; i<1000; i++;)
  17.         {
  18.                 GetProcessInfo(#Process, i);
  19.                 if (strcmpi(#Process.name, proc_name)==0) return 1;
  20.         }
  21.         return 0;
  22. }
  23.  
  24. :void KillProcessByName(dword proc_name, byte multiple) {
  25.         int i;
  26.         proc_info Process;
  27.         for (i=0; i<1000; i++;)
  28.         {
  29.                 GetProcessInfo(#Process, i);
  30.                 if (strcmpi(#Process.name, proc_name)==0)
  31.                 {
  32.                         KillProcess(Process.ID);
  33.                         if (multiple==SINGLE) break;
  34.                 }
  35.         }
  36. }
  37.  
  38. :void RestartProcessByName(dword proc_name, byte multiple) {
  39.         KillProcessByName(proc_name, multiple);
  40.         RunProgram(proc_name, "");     
  41. }
  42.  
  43.  
  44. #endif