Sí es posible, no te puedo dar los detalle porque hace años que no toco este tipo de programación pero creo que puedo orientarte en el concepto.
Lo que ves en la pantalla (aunque sea un dispositivo de salida) es una manifestación de una porción de memoria, es decir, el dispositivo de video toma de la memoria datos y los transforma físicamente a una imagen, lo hace periodicamente en lo que se denomina refresco de imagen que es distinto al de pantalla.
La idea es disponer de la información del puntero de comienzo de la pantalla (imagino en modo consola) e ir consultando su valor como un array. Con la variable correspondiente puedes realizar la comparación condicional.
Estoy seguro que hay librerias para ello pero te repito que no estoy familiarizadas con ellas ya que hace muchos años que no paseo por esos campos de la programación. Aunque por tu pregunta creo que ya conocias lo que te estoy comentando.
Espero que te sirva de orientación. Un saludo.