Buenas,
estoy intentando encontrar un método para evitar que alguien automatice acciones mediante el uso de macros, simulando eventos de teclado y ratón para interaccionar de forma autónoma sin necesidad de una persona presente, básicamente usando programas como AHK.
La cosa está en que desde mi software no puedo diferenciar eventos procedentes de hardware, de los mismos eventos generados por software, ya que las interrupciones las controla Windows. Quisiera saber si alguien tiene alguna sugerencia de cómo se podría diferenciar, si es que realmente hay alguna diferencia, para así detectar que las acciones las realiza una macro y no una persona.
Alternativamente había pensado en controlar no sólo los eventos de press, sinó también los de release, pero esto en el fondo sólo obligaría a hacer macros más elaboradas, y podría repercutir en errores en usuarios reales al presionar varias teclas de forma simultánea, o bien al impedir repetición manteniendo una tecla pulsada, cosa que a veces puede ser útil, así que no me gusta demasiado esta forma.
Cualquier idea será bienvenida.