André Carlucci

Skeptic .net development

Controlando o mouse e teclado com MrWindows

Uma das primeiras coisas que comecei a fazer quando coloquei minhas mãos em uma câmera RealSense foi controlar o próprio Windows utilizando movimentos e gestos.

Para fazer isso, você precisa fazer chamadas para as APIs do Windows utilizando Platform Invocation Services (PInvoke), que nada mais é uma maneira de chamar código não gerenciado através de código gerenciado.

As principais dlls da API do Windows são:

Vamos ver um exemplo. Suponha que você queira setar a posição do ponteiro do mouse na tela. Esta função está na dll “user32.dll” e você acessa ela usando o código abaixo:

Para facilitar estes tipos de acesso, acabei criando um projeto open-source no github chamado MrWindows. Com ele, você não precisa se preocupar com o “p/invoke” e acessa a API desta forma:

É claro que você pode usar no seu projeto via NuGet:

Lembrando que pull-requests são muito bem-vindos!

  • Luis Lopes

    Queria controlar o teclado pelo mouse, que os gestos do mouse tenham efeito sobre as setas do teclado, pra usar em um jogo no qual o avatar é movido com o teclado (consigo usar controle, mas acho que assim seria mais pratico) e atribuir teclas aos botões. Existe alguma forma de fazer isso?