예제 #1
0
        static void Main()
        {
            /* Ищем процесс арчейджа, получаем его TITLE для того чтобы использовать в CaptureScreen */
            Process[] processlist = Process.GetProcesses();

            foreach (Process process in processlist)
            {
                if (process.ProcessName == "archeage")
                {
                    Program.ArcheageWindowTitle  = process.MainWindowTitle;
                    Program.ArcheageWindowHandle = process.MainWindowHandle;
                }
            }

            Program.Archeage = User32.FindWindow(null, Program.ArcheageWindowTitle);

            /* Загружаем элементы интерфейса для распознавания */

            VisionHeroLocation.LoadHeroCircle();
            VisionTarget.LoadTargetBars();
            VisionEnemy.LoadEnemyBars();
            VisionHero.LoadHeroBars();
            VisionAlliance.LoadAllianceBars();
            VisionAlliance.LoadManaBars();
            VisionEnemy.LoadEnemyTooltips();
            VisionNumbers.LoadDistanceNumbers();
            VisionGame.LoadButtonF();
            VisionGame.LoadButtonG();

            Route.LoadGrindRoute("D:\\CurrentRoute.txt");

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
예제 #2
0
        static void Main()
        {
            /* Ищем процесс арчейджа, получаем его TITLE для того чтобы использовать в CaptureScreen */
            Process[] processlist = Process.GetProcesses();

            foreach (Process process in processlist)
            {
                if (process.ProcessName == "archeage")
                {
                    Program.ArcheageWindowTitle  = process.MainWindowTitle;
                    Program.ArcheageWindowHandle = process.MainWindowHandle;
                }
            }
            /////////////////////////
            WindowsPrincipal pricipal = new WindowsPrincipal(WindowsIdentity.GetCurrent());
            bool             hasAdministrativeRight = pricipal.IsInRole(WindowsBuiltInRole.Administrator);

            if (hasAdministrativeRight == false)
            {
                ProcessStartInfo processInfo = new ProcessStartInfo(); //создаем новый процесс
                processInfo.Verb     = "runas";                        //в данном случае указываем, что процесс должен быть запущен с правами администратора
                processInfo.FileName = Application.ExecutablePath;     //указываем исполняемый файл (программу) для запуска
                try
                {
                    Process.Start(processInfo); //пытаемся запустить процесс
                }
                catch (System.ComponentModel.Win32Exception)
                {
                    //Ничего не делаем, потому что пользователь, возможно, нажал кнопку "Нет" в ответ на вопрос о запуске программы в окне предупреждения UAC (для Windows 7)
                }
                Application.Exit(); //закрываем текущую копию программы (в любом случае, даже если пользователь отменил запуск с правами администратора в окне UAC)
            }
            else //имеем права администратора, значит, стартуем
            {
                ////////////////////////
                Program.Archeage = User32.FindWindow(null, Program.ArcheageWindowTitle);

                /* Загружаем элементы интерфейса для распознавания */

                VisionHeroLocation.LoadHeroCircle();
                VisionTarget.LoadTargetBars();
                VisionEnemy.LoadEnemyBars();
                VisionHero.LoadHeroBars();
                VisionAlliance.LoadAllianceBars();
                VisionAlliance.LoadManaBars();
                VisionEnemy.LoadEnemyTooltips();
                VisionNumbers.LoadDistanceNumbers();
                VisionGame.LoadButtonF();
                VisionGame.LoadButtonG();

                // Route.LoadGrindRoute("RecordRoute.txt");

                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form3());
            }
        }