none
C# [ Console ] - AJUDA EM CÓDIGO! RRS feed

  • Pergunta

  • Olá amigos, preciso de um help em relação a ferramenta que estou desenvolvendo.

    O programa em si, está executando perfeitamente a ação de validar a abertura do otPokemon, também executando corretamente a ação de fechamento do GAMEMAS, a validação só é realizada após o método InsertKEY( );.

    OBJETIVO PRINCIPAL - Gostaria que, o programa validasse instantaneamente quando o GAME fosse fechado e voltasse para o status de [otPokemon] OFF.

    Explicando o Processo!

    1 - Etapa em que é realizada a inicialização do programa.



    2 - Assim que o (GAME) "otPokemon" é aberto, o programa realiza a validação e solicita que a tecla enter seja pressionada para continuar.


    3 - Suponhamos que, o usuário finalize o (GAME) "otPokemon" conforme mostra a imagem abaixo... , o correto seria que o programa voltasse ao seu status inicial de [otPokemon] OFF, mas isso não acontece.


    4 - Conforme mostra o Gerenciador de Tarefas, o (GAME) já foi finalizado, mas o programa solicita que seja pressionado a tecla INSERT.


    5 - Novamente o Gerenciador de Tarefas mostra que o (GAME) está finalizado, porém o programa solicita a nova etapa e que o usuário pressione a tecla INSERT.


    6 - Mais uma vez, Gerenciador de Tarefas mostrando que o (GAME) já foi finalizado, mas o programa solicita a sua etapa e que o usuário pressione INSERT novamente.


    7 - Somente após a função InsertKEY(); ser executada pelo programa o mesmo valida que o (GAME) foi fechado.
     
    Lembrando que:

    OBJETIVO PRINCIPAL - Gostaria que, o programa validasse instantaneamente quando o GAME fosse fechado e voltasse para o status de [otPokemon] OFF.


    Segue abaixo o código do programa. . .

    using System;
    using System.Collections.Generic;
    using System.Diagnostics;
    using System.Linq;
    using System.Runtime.InteropServices;
    using System.Threading;
    
    namespace autoFISHING
    {
        class Program
        {
            static void Main(string[] args)
            {
                while (true)
                {
                    if (Process.GetProcessesByName("otpdx").Length != 0)
                    {
                        Console.Write("\n [otPokemon] ", Console.ForegroundColor = ConsoleColor.Cyan);
                        Console.ResetColor();
    
                        Console.Write("ON\n", Console.ForegroundColor = ConsoleColor.Green);
                        Console.ResetColor();
    
                        Console.WriteLine("\n Press the ENTER KEY to continue . . .", Console.ForegroundColor = ConsoleColor.Yellow);
                        Console.ResetColor();
    
                        if (Console.ReadKey().Key == ConsoleKey.Enter)
                        {
                            InsertKEY();
                        }
                        else
                        {
                            Console.Clear();
                        }
    
                        /* new method */
                    }
    
                    else
                    {
                        Console.Clear();
    
                        Console.Write("\n [otPokemon] ", Console.ForegroundColor = ConsoleColor.Cyan);
                        Console.ResetColor();
    
                        Console.Write("OFF\n", Console.ForegroundColor = ConsoleColor.Red);
                        Console.ResetColor();
    
                        Console.Write("\n Waiting for OtPokemon", Console.ForegroundColor = ConsoleColor.Yellow);
                        Console.ResetColor();
                        Console.WriteLine(". . .");
    
                        Thread.Sleep(3000);
    
                        Console.Clear();
                    }
                }
            }
    
            private static void InsertKEY()
            {
                /* Beginning of method. */
                int i = 0;
    
                /* List to store the coordinates. */
                List<POINT> coordinates = new List<POINT>();
    
                /* Lists to store messages. */
                List<string> messages = new List<string>
                {
                    "\n {1} Move the mouse pointer over the white fish icon and press the INSERT KEY.",
                    "\n {2} Move the mouse pointer over the river and press the INSERT KEY.",
                    "\n {3} Move the mouse pointer over the battlefield and press the INSERT KEY."
                };
    
                Console.Clear();
    
                Console.WriteLine("\n [A U T O][F I S H I N G]", Console.ForegroundColor = ConsoleColor.Blue);
                Console.ResetColor();
    
                while (i < messages.Count())
                {
                    POINT coordinate;
                    Console.WriteLine(messages.ElementAt(i));
    
                    if (Console.ReadKey().Key == ConsoleKey.Insert)
                    {
                        GetCursorPos(out coordinate);
                        coordinates.Add(coordinate);
                        Console.WriteLine("\n     Successfully!!", Console.ForegroundColor = ConsoleColor.Green);
                        Console.ResetColor();
                        i++;
                    }
    
                    else
                    {
                        Console.Clear();
                        Console.WriteLine("\n [A U T O][F I S H I N G]", Console.ForegroundColor = ConsoleColor.Blue);
                        Console.ResetColor();
                        Console.WriteLine("\n Sorry, you need to press the INSERT KEY to continue!", Console.ForegroundColor = ConsoleColor.Red);
                        Console.ResetColor();
                    }
                }
            }
    
            /* Import the DLL user32, which contains the method that captures the coordinates of the mouse pointer. */
            [DllImport("user32.dll")]
            static extern bool GetCursorPos(out POINT lpPoint);
    
            /* Define a "struct" to store the coordinates of the mouse pointer. */
            public struct POINT
            {
                public int X;
                public int Y;
            }
        }
    }

    quarta-feira, 29 de maio de 2019 14:55

Respostas

Todas as Respostas