Subversion Repositories Kolibri OS

Rev

Rev 7433 | Rev 7914 | 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. #define MAX_PROCESS_COUNT 256
  14.  
  15. :bool CheckProcessExists(dword proc_name) {
  16.         int i;
  17.         proc_info Process;
  18.         for (i=0; i<MAX_PROCESS_COUNT; i++;)
  19.         {
  20.                 GetProcessInfo(#Process, i);
  21.                 if (strcmpi(#Process.name, proc_name)==0) return 1;
  22.         }
  23.         return 0;
  24. }
  25.  
  26. :void KillProcessByName(dword proc_name, byte multiple) {
  27.         int i;
  28.         proc_info Process;
  29.         for (i=0; i<MAX_PROCESS_COUNT; i++;)
  30.         {
  31.                 GetProcessInfo(#Process, i);
  32.                 if (strcmpi(#Process.name, proc_name)==0)
  33.                 {
  34.                         KillProcess(Process.ID);
  35.                         if (multiple==SINGLE) break;
  36.                 }
  37.         }
  38. }
  39.  
  40. :void RestartProcessByName(dword proc_name, byte multiple) {
  41.         KillProcessByName(proc_name + strrchr(proc_name, '/'), multiple);
  42.         RunProgram(proc_name, "");     
  43. }
  44.  
  45.  
  46. #endif