Я разработал приложение на C #, которое захватывает экраны с помощью bitblt и отправляет события клавиатуры и мыши с помощью вызовов keybd_event и mouse_event.
Согласно Microsoft, мне нужно было изменить app.manifest с помощью: requestExecutionLevel level = "highAvailable" uiAccess = "true"
Подпишите приложение и поместите его в надежное место (программные файлы).
Я сделал все это, чтобы приложение работало с повышенными привилегиями под Vista, но когда появляются диалоговые окна UAC, они не захватывают эти экраны, а события клавиатуры и мыши не доходят до диалогового окна UAC.
Я предполагаю, что UAC работает на другом рабочем столе ?? если да, то как мне это запечатлеть? и как я могу определить, когда рабочий стол переключается на диалоговое окно UAC в C #? или я просто пропустил шаг?