none
Gravar coordenadas do mouse em variáveis, utilizando uma tecla. RRS feed

  • Pergunta

  • Gravar em variáveis 3 posições que o mouse deve ficar, utilizando a tecla "insert" para gravar. Tudo isso usando o console do C#, alguem me ajuda? Não sei por onde começar!

    quinta-feira, 23 de maio de 2019 19:02

Respostas

  • Olá, Gabriel!

    using System;
    using System.Collections.Generic;
    using System.Runtime.InteropServices;
    
    namespace CoordenadasMouseConsole
    {
        class Program
        {
            static void Main(string[] args)
            {
                int i = 0;
    
                // Lista para armazenar coordenadas
                List<POINT> coordenadas = new List<POINT>();
    
                while(i<3)
                {
                    Console.WriteLine("Pressione a tecla INSERT para gravar a coordenada do ponteiro do mouse!");
                    if(Console.ReadKey().Key == ConsoleKey.Insert)
                    {
                        // Captura a coordenada e adiciona à lista
                        POINT coordenada;
                        GetCursorPos(out coordenada);
                        coordenadas.Add(coordenada);
                        
                        // Mensagem de captura
                        Console.WriteLine($"Coordenada capturada => ({coordenada.X},{coordenada.Y})");
    
                        // Incrementa o contador
                        i++;
                    }
                }
    
                // Exibe as coordenadas capturadas
                Console.WriteLine(" ========== COORDENADAS CAPTURADAS ========== ");
                foreach(var coordenada in coordenadas)
                {
                    Console.WriteLine($"({coordenada.X},{coordenada.Y})");
                }
                Console.WriteLine(" ============================================ ");
                Console.ReadLine();
            }
    
            // Importa a dll user32, a qual contém o método que 
            // captura a coordenada do ponteiro do mouse
            [DllImport("user32.dll")]
            static extern bool GetCursorPos(out POINT lpPoint); // Define qual função será chamada da dll
            
            // Define um struct para armazenar as coordenadas do ponteiro do mouse 
            public struct POINT
            {
                public int X;
                public int Y;
            }
        }
    }
    

    Referências

    http://www.blackwasp.co.uk/GetCursorPos.aspx


    “First do it, then do it right, then do it better.”

    sexta-feira, 24 de maio de 2019 13:40

Todas as Respostas

  • Olá, Gabriel!

    using System;
    using System.Collections.Generic;
    using System.Runtime.InteropServices;
    
    namespace CoordenadasMouseConsole
    {
        class Program
        {
            static void Main(string[] args)
            {
                int i = 0;
    
                // Lista para armazenar coordenadas
                List<POINT> coordenadas = new List<POINT>();
    
                while(i<3)
                {
                    Console.WriteLine("Pressione a tecla INSERT para gravar a coordenada do ponteiro do mouse!");
                    if(Console.ReadKey().Key == ConsoleKey.Insert)
                    {
                        // Captura a coordenada e adiciona à lista
                        POINT coordenada;
                        GetCursorPos(out coordenada);
                        coordenadas.Add(coordenada);
                        
                        // Mensagem de captura
                        Console.WriteLine($"Coordenada capturada => ({coordenada.X},{coordenada.Y})");
    
                        // Incrementa o contador
                        i++;
                    }
                }
    
                // Exibe as coordenadas capturadas
                Console.WriteLine(" ========== COORDENADAS CAPTURADAS ========== ");
                foreach(var coordenada in coordenadas)
                {
                    Console.WriteLine($"({coordenada.X},{coordenada.Y})");
                }
                Console.WriteLine(" ============================================ ");
                Console.ReadLine();
            }
    
            // Importa a dll user32, a qual contém o método que 
            // captura a coordenada do ponteiro do mouse
            [DllImport("user32.dll")]
            static extern bool GetCursorPos(out POINT lpPoint); // Define qual função será chamada da dll
            
            // Define um struct para armazenar as coordenadas do ponteiro do mouse 
            public struct POINT
            {
                public int X;
                public int Y;
            }
        }
    }
    

    Referências

    http://www.blackwasp.co.uk/GetCursorPos.aspx


    “First do it, then do it right, then do it better.”

    sexta-feira, 24 de maio de 2019 13:40
  • Muitoooo obrigado!!
    domingo, 26 de maio de 2019 18:33