Я хочу создать базовую службу повышения привилегий. Моя идея заключается в том, что администратор опубликует список приложений, и когда пользователь пытается запустить одно из этих приложений, это приложение будет работать с повышенными правами. Я могу запустить приложение из контекста службы Windows в контексте пользователя как интерактивный
Проблема в том, что я должен убить пользователей, создать новый запрос процесса, прежде чем он покажет пользователю диалог Uac.
Как показывают мои исследования, единственный способ - использовать API Windows Hook. Я вижу, что это допускает глобальную клавиатуру и мышь, но я не смог найти глобальный хук для создания нового процесса для c #
Это единственный способ добиться того, чего я хочу?
Можно ли с помощью C # слушать глобальные в локальной системе?
Могу ли я прослушать события двойного щелчка и проверить, нажал ли пользователь на исполняемый файл? Это глупая идея? Если это не так, как я могу определить, на каком объекте пользователь дважды щелкнул?