Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > OpenSCManager разавершается с "Access denied"


Автор: EvilsInterrupt 10.6.2010, 08:58
Во время работы такого кода:
Код

    m_private->hSCMngr = ::OpenSCManager(NULL,NULL,SC_MANAGER_CREATE_SERVICE);

Макрос в watch-окне студии "@err,hr" показывает "access is denied". Есно дело, Все-таки безопасность в Windows 7 шерше, чем раньше. Но что делать мне ?

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

Вобщем, какие вообще сейчас методы работы ? ;) Кто как решает проблему с UAC ?

ЗЫ:
Опыт руктито-писателей тоже привествую, надо и в этом направлении развиваться ;)

Автор: xvr 10.6.2010, 09:19
Цитата(EvilsInterrupt @  10.6.2010,  08:58 Найти цитируемый пост)
Но что делать мне ?
Работать под экаунтом администратора. Простому юзеру создавать сервисы не дано, увы  smile 
Можно запускать процессы от имени администратора (CreateProcessAsUser), или менять права текущей нити (LogonUser+ImpersonateLoggedOnUser)

Цитата(EvilsInterrupt @  10.6.2010,  08:58 Найти цитируемый пост)
Кто как решает проблему с UAC
Отключают его  smile 

Автор: EvilsInterrupt 10.6.2010, 09:22
xvr, Ну вот, скажем есть у меня код. Юзает класс, который грузит драйвер http://www.wasm.ru/article.php?article=drvw2k02 и что тогда ему? как этому коду приложения получить нужные права ? При этом код выполняется под юзером, который помечен "админ" ;) Админский токен получать?

Автор: EvilsInterrupt 10.6.2010, 20:22
Нашел интерсную информацию : http://www.pretentiousname.com/misc/win7_uac_whitelist2.html . Загрузку пока не решил, все ще воюю ) . Результат для меня это запуск дровины без UAC-промпта . Думаю т.к. работаю под юзером имеющего админские права и когда жму правой кнопкой мыши "Run as Administrator" меня не спрашивают пароля! Следовательно  мне наверное проще получить токен админский и на этом работа завершена )

Но кто еще как думает ?

ЗЫ:
UAC полюбому отключать не стоит, нужно  учиться дружить с ним. Потому что неплохой механизм защиты. В семерке он не напрягает !

Автор: xvr 10.6.2010, 21:01
Цитата(EvilsInterrupt @  10.6.2010,  20:22 Найти цитируемый пост)
Но кто еще как думает ?
Подпиши прогу у MS  smile 

Автор: 12usver12 10.6.2010, 21:21
вроде можно через командную строчку , также как и  MS фаер вырубается на XP...
хотя могу ошибаться

Автор: EvilsInterrupt 14.6.2010, 20:45
порыл, порыл и нашел: http://www.pretentiousname.com/misc/win7_uac_whitelist2.html#summary . Пробую и смотрю )

Автор: jonie 16.6.2010, 19:13
моникер создать и поднять привелегии можно ...

Автор: EvilsInterrupt 18.6.2010, 19:41
jonie, Прошу по-подробней.

Автор: 12usver12 18.6.2010, 20:09
а если попробовать в Опциях линкерах выставить UAC ByPass UI Protection  - Yes...

Автор: EvilsInterrupt 19.6.2010, 00:24
12usver12, Идеалогия работы софта под Виста и 7 такова, что любые системный действия сейчас ведут через подтверждение пользователем! То что мы указываем в настройках, это влияет на внутренний в файле манифест, который находит сис.загрузчик и это для него команда, что надо делать, толи просить повысить права, толи еще что ;)
Отключить мы по замыслу MS не можем! МЫ можем только сказать через манифест,  что этому файлу нужны админские права

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)