Как использовать SetWindowsHookEx в Vista и подключить приложения администратора к UAC? - PullRequest
2 голосов
/ 03 июля 2010

Я пытаюсь выяснить, есть ли способ использовать SetWindowsHookEx и иметь возможность влиять на приложения, которые запускаются с правами администратора в Vista, с включенным UAC. Это приложение, которое должно будет добавить небольшую кнопку на панель заголовков других окон, чтобы включить некоторую обработку с поддержкой нескольких мониторов. Я бы подумал, что это невозможно, но я видел одно приложение, в котором появляется , чтобы сделать это. Насколько я могу судить, эти другие приложения не запускаются с правами администратора, но могут влиять на все приложения в системе, включая приложения с правами администратора.

Казалось бы, есть способ сделать это, но я не знаю, как это сделать. Мое приложение должно только иметь возможность рисовать на заголовках окон и иметь возможность влиять на их движение и размер. Мне больше ничего не нужно делать.

1 Ответ

2 голосов
/ 03 июля 2010

Вы не можете, поскольку административные процессы изолированы от неадминистративных процессов, работающих на одном рабочем столе пользователя. Вы даже не можете перетаскивать между процессами администратора и не-администратора.

Это углубленный анализ: http://technet.microsoft.com/en-us/magazine/2007.06.uac.aspx

Что касается приложения, на которое вы ссылаетесь, оно, вероятно, использует некоторый административный код, работающий в фоновом режиме (обычно в качестве службы), чтобы оно могло взаимодействовать с административными процессами.

...