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