Exemple #1
0
        public static void ThreadStopped(Thread threadToStop)
        {
            ThreadLocalServiceRequest req = threadToStop.localServiceRequest;

            req.tag          = ThreadLocalServiceRequestTag.ThreadStopped;
            req.targetThread = threadToStop;
            ServiceThread.Request(req);
        }
Exemple #2
0
        public static void StopProcess(Process process, int exitCode)
        {
            ThreadLocalServiceRequest req = Thread.CurrentThread.localServiceRequest;

            req.tag           = ThreadLocalServiceRequestTag.StopProcess;
            req.targetProcess = process;
            req.exitCode      = exitCode;
            ServiceThread.Request(req);
            req.requestFinished.WaitOne();
            process.Join();
        }
Exemple #3
0
        public static bool ResumeProcess(Process process, bool recursive)
        {
            ThreadLocalServiceRequest req = Thread.CurrentThread.localServiceRequest;

            req.tag = (recursive)?
                      (ThreadLocalServiceRequestTag.ResumeProcessRecursive):
                      (ThreadLocalServiceRequestTag.ResumeProcess);
            req.targetProcess = process;
            ServiceThread.Request(req);
            req.requestFinished.WaitOne();
            return(req.processStarted);
        }