Залогинил 2-х пользователей на висте (через fast user switching). Получил 2 винлогона в соответствующих сессиях. после логофа одного из юзеров его винлогон умирает (точнее умирает по завершении user switching). Смотрел а task manager.
_DEN_ лучше даже просто не давать открыть даже, хукнув NtOpenProcess, возвращая access denied при попытке открыть твой процесс с флагом PROCESS_TERMINATE
green Если имеется ввиду ребут системы, или выключение - то ей вроде пофиг на это. Она все терминирует ) ИМХО
Great Уже в который раз слышу про это. Интересно, те, кто применяет этот приём, помнят о том, что права можно менять в уже открытом описателе?
IceStudent Документированно, насколько я знаю, нельзя. А винда вряд ли будет открывать процесс ,потом копашиться в хендлах, а уж потом его килять. Так что тут, скорее всего, прокатит.
IceStudent Ну так это же не изменение прав открытого описателя, а создание нового с другими правами. Хотя это тоже надо перехватывать тогда, чтобы не дать себя закрыть)
Great Но уже не использует OpenProcess, поэтому обходит эту проверку Так что, возвращаясь к исходному вопросу, - корректней перехватывать завершающие процесс функции, нежели открывающие его.
это же просто не даст отлогофиться если вся фишка в том, чт нужен доступ к гуи, можно просто аттачить сервис к винстэйшен/десктоп. в мсдне что-то было про интерактивные сервисы
Great Как раз таки нет. Если вернуть STATUS_SUCCESS, то логофф не происходит. Можно вернуть STATUS_ACCESS_DENIED. В этом случае логофф произойдет, процесс не умрет, но в некоторый момент он потеряет связь с гуем((( Nouzui Хм....)