Subversion Repositories Kolibri OS

Rev

Rev 5622 | Rev 7433 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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