Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > ОС и железо
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.05.2012, 12:28
292929 292929 вне форума
Прохожий
 
Регистрация: 15.05.2012
Сообщения: 5
Репутация: 10
По умолчанию Сетевой диск

Доброго времени суток!

Я пишу программу, которая работает только если запускать её от имени администратора. В процессе работы, помимо всего прочего, программа должна создать сетевой диск у обычного пользователя. Но так, как она запущена администратором, то и сетевой диск создается у администратора.

Может ли кто нибудь подсказать или поделиться примером, как реализовать подключение сетевого диска (к примеру '\\User-PC\Share') у обычного пользователя (к примеру 'Vasya'), запустив программу от имени администратора.

Приветствуются примеры с принудительным подключением сетевого диска (имеется ввиду подключение сетевого диска без проверки на наличие в сети компьютера с папкой назначения, если такое возможно).
Ответить с цитированием
  #2  
Старый 15.05.2012, 13:28
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

может запускать программу не под администратором, а с правами администратора?
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 15.05.2012, 18:53
292929 292929 вне форума
Прохожий
 
Регистрация: 15.05.2012
Сообщения: 5
Репутация: 10
По умолчанию

Цитата:
Сообщение от NumLock
может запускать программу не под администратором, а с правами администратора?
В обоих случаях сетевой диск подключается у администратора. Мне нужно подключить диск у пользователя (не администратора), под которым я зашел и запустил свою программу от имени администратора (контекстное меню->Запуск от имени администратора).

Программа прописывает ip, маску, шлюз, dns в настройках сетевого адаптера, меняет имя компьютера. Для этих настроек необходимы права администратора.

PS
Если имеет значение, то программу я собираюсь эксплуатировать под Windows 7 =)

Последний раз редактировалось 292929, 15.05.2012 в 18:56.
Ответить с цитированием
  #4  
Старый 16.05.2012, 08:26
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 298
Репутация: -1806
По умолчанию

Цитата:
Сообщение от 292929
Программа прописывает ip, маску, шлюз, dns в настройках сетевого адаптера, меняет имя компьютера. Для этих настроек необходимы права администратора
и зачем она это делает?
а для сетевого диска права админа не нужны
Ответить с цитированием
  #5  
Старый 16.05.2012, 08:34
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

кто мешает выполнить net use x: \\gross\Public\oleg ?
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #6  
Старый 16.05.2012, 15:43
292929 292929 вне форума
Прохожий
 
Регистрация: 15.05.2012
Сообщения: 5
Репутация: 10
По умолчанию

Цитата:
Сообщение от robt
и зачем она это делает?
а для сетевого диска права админа не нужны
Она это делает потому, что это её основная задача. Также как и подключение сетевого диска.
Обе этих задачи должны быть реализованы в одной программе.

Цитата:
Сообщение от NumLock
кто мешает выполнить net use x: \\gross\Public\oleg ?
Уже пробовал. Подключается сетевой диск у администратора, а надо подключить у того пользователя, с которого произведен вход в систему.
(использовал winexec)

Конечно можно выполнять эту команду с помощью bat файла отдельно от программы, но это коряво как то =\

Последний раз редактировалось 292929, 16.05.2012 в 15:52.
Ответить с цитированием
  #7  
Старый 16.05.2012, 15:47
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

под кем выполнить эту команду под тем и будет подключен диск!!! выполняй эту команду под пользователем который вошел в систему, т.е. 'Vasya'
__________________
Пишу программы за еду.
__________________

Последний раз редактировалось NumLock, 16.05.2012 в 15:49.
Ответить с цитированием
  #8  
Старый 28.05.2012, 14:59
292929 292929 вне форума
Прохожий
 
Регистрация: 15.05.2012
Сообщения: 5
Репутация: 10
По умолчанию

Решено! Диск прописывается в реестре, появляется после перезагрузки.
Подключается принудительно (Даже если удаленного компьютера нет в сети)
Код:
procedure TForm1.RegNetD(Sender: TObject);
var
R: TRegistry;
begin
R:=TRegIniFile.Create('');
R.RootKey:=HKEY_CURRENT_USER;
R.OpenKey('\Network\M', true);  //'M' - имя диска
R.WriteInteger('ConnectionType', 1);
R.WriteInteger('DeferFlags', 4);
R.WriteString('ProviderName', 'Microsoft Windows Network');
R.WriteInteger('ProviderType', 131072);
R.WriteString('RemotePath', '\\255.255.255.255\Folder'); //Адрес
R.WriteInteger('UserName', 0);
R.Free;
end;

----------
Нет, не работает. Добавляет диск администратору.

Последний раз редактировалось 292929, 28.05.2012 в 18:21.
Ответить с цитированием
  #9  
Старый 29.05.2012, 11:44
292929 292929 вне форума
Прохожий
 
Регистрация: 15.05.2012
Сообщения: 5
Репутация: 10
По умолчанию

Теперь все работает.
Вместо HKEY_CURRENT_USER я использовал HKEY_USERS, там есть ключи HKEY_CURRENT_USER пользователей, которыми был осуществлен вход в систему. Название ключей похоже на "S-*-*-**-**********-**********-**********-****", на месте звездочек будут цифры.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:50.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter