Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Админские права в проге

-

Вопросы и ответы, обсуждения

- Ваши вопросы по C/C++ только в данном разделе

Ответ
 
Опции темы
Старый 03.11.2011, 12:15   #1
 Разведчик
Аватар для Неkто_Я
 
Неkто_Я никому не известный тип
Регистрация: 02.11.2011
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
Question Админские права в проге

Добрый день!
Нужно, чтобы программа, когда ее просто запускает юзер запускалась без админских прав (а лучше, чтобы по-тихому без ошибки закрывалась). А вот, когда эту программу открывает другая, то чтобы запускалась с админскими правами.
Реально ли такое реализовать, и если да, то как? (хотя бы на какую тему гуглить)
  Ответить с цитированием
Старый 03.11.2011, 12:37   #2
 Пехотинец
Аватар для AJIACTOP
 
AJIACTOP скоро будет известенAJIACTOP скоро будет известенAJIACTOP скоро будет известенAJIACTOP скоро будет известен
Регистрация: 08.07.2009
Сообщений: 63
Популярность: 359
Сказал(а) спасибо: 32
Поблагодарили 84 раз(а) в 28 сообщениях
 
По умолчанию Re: Админские права в проге

Ну можна сделать чтобы "другая" программа открывала "эту" с параметрамы. Скажем в параметрах передавать секретный ключ известный только вам.
Код:
 Process.Start("ваше_пр.exe","секретный_ключ")
А в другой в методе main уже проверять что пришло, если ключ не передан выход.

Код:
static void Main(string[] args)
        {
            if (args.Length > 0)
            {
                if (args[0] != "секретный_ключ")
                    return;
            }
            else
                return;
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
  Ответить с цитированием
Старый 03.11.2011, 12:40   #3
 Разведчик
Аватар для •theSaboteur•
 
•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен•theSaboteur• скоро будет известен
Регистрация: 14.07.2011
Сообщений: 27
Популярность: 244
Сказал(а) спасибо: 26
Поблагодарили 47 раз(а) в 37 сообщениях
Отправить сообщение для •theSaboteur• с помощью ICQ
 
По умолчанию Re: Админские права в проге

Проверка на администраторские права:
Код:
WindowsPrincipal wp = new WindowsPrincipal(WindowsPrincipal.Identity);
if(!wp.IsInRole(WindowsBuiltInRole.Administrator)){
Environment.Exit(Environment.ExitCode);
}
Вкратце:
WindowsPrincipal - .net класс, предназначеный для определения принадлежности юзера к какой-либо группе.
WindowsPrincipal.Identity - св-во, возвращающее текущее, цитирую msdn, удостоверение пользователя.
IsInRole - функция проверяющая пользователя на принадлежность к группе с, переданным в качестве аргумента, идентификатором.
Exit - вобщем-то понятно.
Попытка запуска от админа:
Код:
ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = "path to executable file";
psi.Verb="runas";
Process.Start(psi);
В висте/семерке должно вылететь окошко UAC.
Verb - сет команд выполняемых при запуске.
p.s:
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
p.p.s:
Аластор, количество аргументов командной строки в любом случае больше нуля - т.к. туда всегда передается еще и адрес исполняемого файла
И при чем тут вообще это? Человеку требуется:
1.запустить исполняемый файл с правами администратора.
2. проверить наличие прав администратора.
p.p.p.s:
Запуск с правами администратора, с помощью манифестов:
[Ссылки могут видеть только зарегистрированные пользователи. ]
________________
Ну что лежишь ты Мурка, на краю дороги
Гробоваая крыышкаа над тобооой

Последний раз редактировалось •theSaboteur•; 03.11.2011 в 13:04. Причина: added comment's
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
права ГМа Mpak666 Вопросы и ответы, обсуждения 2 14.08.2010 14:20
Админские команды 4ibi$ Общение и обсуждение Counter-Strike 5 14.04.2010 21:43

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 20:58.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net