Esempio n. 1
0
        // Start/stop specific process
        public static void StartProcess(frmAutoClicker.OperationType taskType, string appPath, string profile, bool isShowWindow, bool isSaveProcessed, string description)
        {
            switch (taskType)
            {
            case frmAutoClicker.OperationType.STARTAUTO:
                Log("//========================RUN AUTO TASKS=======================//");
                break;

            case frmAutoClicker.OperationType.STARTMANUAL:
                Log("//=======================RUN MANUAL TASKS======================//");
                break;

            case frmAutoClicker.OperationType.CreateProfiles:
                Log("//=======================CREATE PROFILES=======================//");
                break;

            case frmAutoClicker.OperationType.CreateAccounts:
                Log("//=======================CREATE ACCOUNTS=======================//");
                break;
            }
            Log("-----------------------" + DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss") + "-----------------------");
            if (!string.IsNullOrEmpty(description))
            {
                Log(description);
            }
            var process = new Process();

            if (isShowWindow)
            {
                process.StartInfo = new ProcessStartInfo(appPath, profile);
            }
            else
            {
                process.StartInfo = new ProcessStartInfo(appPath, profile)
                {
                    UseShellExecute = false,   // CreateNoWindow only works, if shell is not used
                    CreateNoWindow  = true,
                    WindowStyle     = ProcessWindowStyle.Hidden
                };
            }
            process.Start();
            if (isSaveProcessed)
            {
                SaveProcessIds(taskType, process.Id);
            }
        }
Esempio n. 2
0
        public static void SaveProcessIds(frmAutoClicker.OperationType taskType, int id)
        {
            var c   = ";";
            var ids = "";

            switch (taskType)
            {
            case frmAutoClicker.OperationType.STARTAUTO:
                ids = Properties.Settings.Default.AutoProcesses;
                if (!string.IsNullOrEmpty(ids))
                {
                    Properties.Settings.Default.AutoProcesses = ids + c + id;
                }
                else
                {
                    Properties.Settings.Default.AutoProcesses = id.ToString();
                }
                break;

            case frmAutoClicker.OperationType.STARTMANUAL:
                ids = Properties.Settings.Default.ManualProcesses;
                if (!string.IsNullOrEmpty(ids))
                {
                    Properties.Settings.Default.ManualProcesses = ids + c + id;
                }
                else
                {
                    Properties.Settings.Default.ManualProcesses = id.ToString();
                }
                break;

            case frmAutoClicker.OperationType.CreateProfiles:
                ids = Properties.Settings.Default.CreateProfilesProcesses;
                if (!string.IsNullOrEmpty(ids))
                {
                    Properties.Settings.Default.CreateProfilesProcesses = ids + c + id;
                }
                else
                {
                    Properties.Settings.Default.CreateProfilesProcesses = id.ToString();
                }
                break;

            case frmAutoClicker.OperationType.CreateAccounts:
                ids = Properties.Settings.Default.CreateAccountsProcesses;
                if (!string.IsNullOrEmpty(ids))
                {
                    Properties.Settings.Default.CreateAccountsProcesses = ids + c + id;
                }
                else
                {
                    Properties.Settings.Default.CreateAccountsProcesses = id.ToString();
                }
                break;
            }
            Properties.Settings.Default.Save();
            var tw = new StreamWriter(frmAutoClicker.processIdsFilePath);

            tw.WriteLine(ids + c + id);
            tw.Close();
        }
Esempio n. 3
0
        public static void StopProcessByBatFile(string appPath, frmAutoClicker.OperationType taskType, string browser)
        {
            var pro = Process.GetProcessesByName(browser == "yandex" ? "browser" : browser).FirstOrDefault();

            if (pro == null || pro.HasExited)
            {
                return;
            }
            if (!File.Exists(appPath))
            {
                return;
            }
            switch (browser)
            {
            case "chrome":
                browser = "Google Chrome";
                break;

            case "brave":
                browser = browser.ToUpperInvariant();
                break;

            case "msedge":
                browser = "Miscrosoft Edge";
                break;

            case "browser":
                browser = "Coc Coc";
                break;

            case "yandex":
                browser = browser.ToUpperInvariant();
                break;
            }
            switch (taskType)
            {
            case frmAutoClicker.OperationType.STARTAUTO:
                Log("//=====================KILL AUTO PROCESSES=====================//");
                break;

            case frmAutoClicker.OperationType.STARTMANUAL:
                Log("//====================KILL MANUAL PROCESSES====================//");
                break;

            case frmAutoClicker.OperationType.CreateProfiles:
            case frmAutoClicker.OperationType.CreateAccounts:
                Log("//=======================KILL PROCESSES========================//");
                break;
            }
            Log("-----------------------" + DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss") + "-----------------------");
            Log("Kill processes of " + browser);
            var process = new Process
            {
                StartInfo = new ProcessStartInfo(appPath, "")
                {
                    UseShellExecute = false,   // CreateNoWindow only works, if shell is not used
                    CreateNoWindow  = true,
                    WindowStyle     = ProcessWindowStyle.Hidden
                }
            };

            process.Start();
            process.WaitForExit(1000 * 10);
        }
Esempio n. 4
0
        public static void StopProcess(frmAutoClicker.OperationType taskType, string browserName, bool isDeleted, bool isStopped)
        {
            try
            {
                var processIds = Properties.Settings.Default.AutoProcesses.Split(';');
                switch (taskType)
                {
                case frmAutoClicker.OperationType.STARTAUTO:
                    if (isStopped)
                    {
                        Properties.Settings.Default.AutoProcesses = string.Empty;
                    }
                    break;

                case frmAutoClicker.OperationType.STARTMANUAL:
                    processIds = Properties.Settings.Default.ManualProcesses.Split(';');
                    if (isStopped)
                    {
                        Properties.Settings.Default.ManualProcesses = string.Empty;
                    }
                    break;

                case frmAutoClicker.OperationType.CreateProfiles:
                    processIds = Properties.Settings.Default.CreateProfilesProcesses.Split(';');
                    if (isStopped)
                    {
                        Properties.Settings.Default.CreateProfilesProcesses = string.Empty;
                    }
                    break;

                case frmAutoClicker.OperationType.CreateAccounts:
                    processIds = Properties.Settings.Default.CreateAccountsProcesses.Split(';');
                    if (isStopped)
                    {
                        Properties.Settings.Default.CreateAccountsProcesses = string.Empty;
                    }
                    break;
                }
                Properties.Settings.Default.Save();
                foreach (var id in processIds)
                {
                    if (string.IsNullOrEmpty(id))
                    {
                        continue;
                    }
                    var pId = 0;
                    int.TryParse(id, out pId);
                    if (pId == 0)
                    {
                        continue;
                    }
                    var process = new Process();
                    if (!string.IsNullOrEmpty(browserName))
                    {
                        process = Process.GetProcesses().Where(p => p.Id == pId && p.ProcessName == browserName).FirstOrDefault();
                    }
                    else
                    {
                        process = Process.GetProcessesByName(browserName).Where(p => p.Id == pId).FirstOrDefault();
                    }
                    if (process == null || process.HasExited)
                    {
                        continue;
                    }
                    process.Kill();
                    switch (taskType)
                    {
                    case frmAutoClicker.OperationType.STARTAUTO:
                        Log("//=====================KILL AUTO PROCESSES=====================//");
                        break;

                    case frmAutoClicker.OperationType.STARTMANUAL:
                        Log("//====================KILL MANUAL PROCESSES====================//");
                        break;

                    case frmAutoClicker.OperationType.CreateProfiles:
                        Log("//========================KILL PROCESSES=======================//");
                        break;

                    case frmAutoClicker.OperationType.CreateAccounts:
                        Log("//========================KILL PROCESSES=======================//");
                        break;
                    }
                    Log("-----------------------" + DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss") + "-----------------------");
                    Log("Kill process name: " + process.ProcessName);
                    Log("Kill process id: " + pId);
                }
                if (isDeleted && File.Exists(frmAutoClicker.processIdsFilePath))
                {
                    File.Delete(frmAutoClicker.processIdsFilePath);
                }
            }
            catch (Exception ex)
            {
                Log("//====================ERROR KILL PROCESSES=====================//");
                Log("-----------------------" + DateTime.Now.ToString("dd-MM-yyyy hh:mm:ss") + "-----------------------");
                Log("There's error when stopping processes!" + Environment.NewLine + ex.Message);
                Log("Stack trace:" + Environment.NewLine + ex.StackTrace);
            }
        }