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 | #endif1000;>1000;> |
46 | #endif |