EnumWindows. Перехват окон, созданных другим процессом
Привет, булка!
Смотри, какая есть задача: Есть win-сервис, который запущен от user1. А я сижу под юзером user2. Я запускаю какую-нибудь программу, у неё вылазит окно на рабочий стол. Программа имеет 1 основной процесс, он работает, естественно, от user2. А мой сервис, работающий под user1 должен это окно обнаружить, и произвести с ним страшные махинации. Я использую EnumWindows функцию из WinAPI. По-идее, она должна перечислить мне все окна, одно из которых будет как раз то самое окно. но! не находит. Окно есть, а дебугер говорит, что нет его. ока, я думал, может юзеру1 прав не дано, чтоб окна от user2 подсматривать. Написал тулзу WinForms, запустил её от имени user1 - прекрасно находит всё, что нужно. Итак, вопрос: влияет ли на EnumWindows тот факт, что процесс запущен в неинтерактивной среде? И может ли он таки получить список окон, созданных процессами другого пользователя? |
Ответ: EnumWindows. Перехват окон, созданных другим процессом
Хороший вопрос, я думаю будь это возможно - не было бы смысла в изоляции пользователей. Если мы говорим о Windows Vista и новее, думаю что логично не допускать вмешательства в приложения другого пользователя.
Ответ же наверняка есть в MSDN |
Ответ: EnumWindows. Перехват окон, созданных другим процессом
ну может как вариант заделать системным сервисом чтобы запускался для всех пользывателей, может у них есть такой доступ
|
Часовой пояс GMT +4, время: 10:37. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot