Это требует крюк, установленный SetWindowsHookEx, WH_SHELL. Обратный вызов получает уведомления, такие как HSHELL_WINDOWACTIVATED и HSHELL_WINDOWCREATED, чтобы вы могли узнать, что происходит с окнами верхнего уровня. Просмотрите статью SDK для «ShellProc» для получения полного списка уведомлений, которые вы можете получить. Почти все они имеют отношение к реализации вашей собственной панели задач.
Это была хорошая новость. Плохая новость в том, что WH_SHELL - глобальный крючок. Для этого требуется DLL, которая может быть добавлена в другой процесс. Проблема в том, что вы не можете написать эту DLL в управляемом коде. Внедрение управляемого кода в неуправляемый процесс невозможно.
Обратно к хорошим новостям, кто-то решил эту проблему и создал неуправляемую DLL, которая может быть внедрена и может взаимодействовать с управляемым кодом. Проект is here. Не знаю, насколько это хорошо. Я подозреваю, что это может быть не совсем доказательство UAC.
Не могли бы вы пояснить, что вы подразумеваете под «панель задач» - вы имеете в виду бар, аналогичный панели задач внизу экрана Windows? –
Извините, я не был чист. Да, вот что я имею в виду. –