0 / 0 / 0
Регистрация: 04.05.2012
Сообщений: 28
|
||||||
1 | ||||||
Что означает параметр DESKTOP_HOOKCONTROL в функции CreateDesktop?03.05.2015, 14:33. Показов 1565. Ответов 4
Метки нет (Все метки)
В документация по функции CreateDesktop на msdn описывается следующая сигнатура:
Если более конкретно, то значение DESKTOP_HOOKCONTROL. DESKTOP_HOOKCONTROL (0x0008L) Required to establish any of the window hooks. Получается, что он нужен для установления любого хука. Т.е. если DESKTOP_HOOKCONTROL не будет установлен, то на вновь созданном desktop нельзя будет установить хуки? Но это не так, я проверил. Тогда что означает этот параметр? Также интересует параметр dwFlags, dwFlags This parameter can be zero or the following value. Value Meaning DF_ALLOWOTHERACCOUNTHOOK Enables processes running in other accounts on the desktop to set hooks in this process. Включает процессы, запущенные в других аккаунтах на рабочем столе, чтобы 0x0001 установить крючки в этот. Т.е. он нужен, чтобы процессы с Default desktop могли устанавливать хуки на новый desktop?
0
|
03.05.2015, 14:33 | |
Ответы с готовыми решениями:
4
Что означает первый параметр метода этого класса? И почему при вызове метода передаётся один параметр(второй)? NPM: что означает параметр -D ? Что означает третий параметр в find() ? Что означает параметр -w команды ping? |
Ушел с форума
|
|
03.05.2015, 15:14 | 2 |
Ровно то, что написано в документации - DESKTOP_HOOKCONTROL требуется для
установки хуков на данный десктоп. Просто параметр Desired Access не задает разрешения для создаваемого или открываемого объекта, а указывает, какие права доступа к объекту хочет получить вызывающий код. А вот если при создании объекта установить в SECURITY_ATTRIBUTES дескриптор безопасности с соответствующими разрешениями, например, где будет запрет на доступ с флагом DESKTOP_HOOKCONTROL, тогда никаких хуков поставить не получится. Этот флаг разрешает процессам, выполняющимся в контексте других учетных записей, ставить хуки в данный десктоп.
1
|
0 / 0 / 0
Регистрация: 04.05.2012
Сообщений: 28
|
|
03.05.2015, 16:34 [ТС] | 3 |
Большое спасибо за пояснение.
Т.е. если кто-то вызовет OpenDesktop с правами на DESKTOP_HOOKCONTROL, у него ничего не выйдет, но при этом процессы запущенные на самом desktop смогут устанавливать хуки? P.s. вообщем мне нужно знать, можно ли запретить приложениям запущенным на новом desktop устанавливать хуки?
0
|
Ушел с форума
|
|
03.05.2015, 16:38 | 4 |
Сообщение было отмечено flibustier как решение
Решение
Да.
Не уверен на 100%, но скорее всего не смогут. Иначе зачем тогда вообще этот флаг ?.. Да, и в исходниках Win2K, например, в недрах SetWindowsHookEx явно просматриваются проверки этого флага (и некоторых других).
2
|
0 / 0 / 0
Регистрация: 04.05.2012
Сообщений: 28
|
|
04.05.2015, 19:13 [ТС] | 5 |
Возник еще вопрос.
Когда на новом desktop, запускаю explorer.exe, открывается только проводник, меню пуск не появляется, почему так происходит? Ведь если убить на Default desktop процесс explorer.exe, и проводник и пуск пропадет.
0
|
04.05.2015, 19:13 | |
04.05.2015, 19:13 | |
Помогаю со студенческими работами здесь
5
Что означает параметр 0.065 в характеристиках процессора? Что означает параметр Периодичность виртуальной таблицы ОстаткиИОбороты регистра бухгалтерии? Функции API CreateDesktop и CreateProcess - как их правильно вызвать? Определить, что за параметр передается функции и что она возвращает Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |