PDA

Показать полную графическую версию : Запуск приложения от имени другого пользователя в Borland Builder C++ 6


DaRiYs
05-12-2009, 03:16
Подскажите способ или функцию с помощью которой проложение при старте запускается от имени определенного пользователя?

Admiral
07-12-2009, 20:07
DaRiYs, в простейшем случаи достаточно функции ShellExecute() с соответственные параметры - ShellExecute(NULL, L"runas", L"MyApp.exe", NULL, NULL, SW_SHOWNORMAL);
Это вызовет одноимённое (Запуск от имени/Run as) окно с запросом логин/пароль.
В более сложном - нужно получить token (http://msdn.microsoft.com/en-us/library/aa379626(VS.85).aspx) интересующего пользователя. Только это может осуществить администратор, так что запуск от имени другого пользователя или администратора, не администратором осуществить сложно.
Есть вариант через свой сервис(хоть прямой запуск, хоть выявление token'a интересующего пользователя), но этот же сервис только админ может и поставить.

DaRiYs
07-12-2009, 20:17
Мда((( Дело в том што када я работаю дома я ставлю на скачку пару файлов в торренте, и я хочю что бы када я отсутствую дома и када мои домашние работают на компе из под другой учетной записи, автоматически запускался utorrent но от моего имени и грузил те файлы которые я добавлял работая на своем акке. Что посоветуете? Ранше я использовал AdmiLink но он чегото перестал работать, выбивает ошибку что файл utorrent.exe типа отсутствует или поврежден вирусом.

Admiral
08-12-2009, 00:29
DaRiYs, искать возможны пути решение в возможностях utorrent
Может так же пригодится тема Создание .torrent-файлов из командной строки (http://forum.oszone.net/thread-132081.html)
Пробовать настроить AdminLink, искать причину поломки.
Перед уходом запускать программу, менять пользователя/производить вход для домашних.

DaRiYs
08-12-2009, 01:42
Да и у меня еще один вопрос. Из контекстного меню пропал пункт "Запуск от имени...". Возможно откулючена какаято служба отвечающая за запуск приложений от разных пользователей? И если это так, могло это повлиять на работоспособность AdmiLink?

Admiral
08-12-2009, 01:54
DaRiYs, пробовать зажать Shift, перед вызовом контекстного меню. А служба, позволяющая запускать от имени другого, но, на сколько знаю, не влияющие на появление данного диалога, называется - Вторичный вход в систему (Secondary Logon) (http://www.oszone.net/display.php?id=2525)
С AdminLink не работал, так что ничего определённого по нему сказать не могу.




© OSzone.net 2001-2012