Если окно свое, то никаких проблем.
Тебе нужен метод, отрисовывающий окно на нкуотором битмапе (проще сделать так, чем работать с самим окном). Если не ошибаюсь, то метод называется PaintTo. Отрисовываешь окно на битмаре и анализируешь этот битмап на наличие квадрата. Теперь с кликами. Можно просто послать нужные сообщения в нужное окно. Либо через SendMessage/PostMessage (первое отличается от второго только тем, что ждет обработки сообщения), либо через метод Perform нужного окна. Ну а как проверить, что небыло квадрата - дело техники. Просто запоминаем когда он был последний раз и сравниваем время с текущим. Издать звук можно с помощью PlaySound или чего-то подобного.
Для чужого окна алгоритмически надо делать примерно тоже самое. Только будут некоторые ограничения в использовании методов. Например, окно придется "грабить" с помощью API, а сообщения посылать с помощью SendMessage/PostMessage (Perform будет недоступен).
Дальше только писать и проверять...
Только вопрос - а нафига нужна такая программа?..
|