Detectar se eventos de teclado ou mouse são acionados por um software

Existe uma maneira de determinar se os eventos do teclado ou do mouse são acionados por um hardware, e não por um aplicativo como o TeamViewer, Steam ou algum outro software de desktop remoto em um aplicativo de desktop em execução no Windows?

Meu objetivo não é impedir bots, mas impedir o acesso remoto ao aplicativo.

Parece que a API RawInput me permite detectar eventos falsos enviados usando a API SendInput. Está correto?

questionAnswers(1)

yourAnswerToTheQuestion