Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.07;
Скачать: CL | DM;

Вниз

Доступ к сетевым ресурсам   Найти похожие ветки 

 
TVV   (2003-05-17 16:14) [0]

Как открыть(закрыть) доступ сетевым ресурсам с соответствующими парамерами (сетевое имя, пароль и тд.) из своей программы.


 
©   (2003-05-18 22:51) [1]

var
nw:TNetResource;

begin
nw.dwType:=RESOURCETYPE_DISK;
nw.lpLocalName:=nil;
nw.lpRemoteName:=PChar("\\"+<Комп в сети>+"\"+<Ресурс>");
nw.lpProvider:=nil;
Err:=WNetAddConnection2(nw,<Пароль>,nil,0)
If Err=NO_ERROR then
begin
...
end;
Примечание: так, как написано, ты будешь к pесуpсу обpащаться как к "\\<Комп в сети>\<Ресурс>". если хочешь подключить сетевой pесуpс как локальный диск -- меняй nw.lpLocalName.
Когда(если) закончишь юзать сетевой диск, ставь WNetCancelConnection2.


 
malamba   (2003-06-02 09:44) [2]

>Err:=WNetAddConnection2(nw,<Пароль>,nil,0)

А у меня выдает оишбку 5 - доступ запрещен, хотя ручками я ресурс открываю прекрасно.
Что это может быть?


 
Lord Warlock ©   (2003-06-02 09:51) [3]

Если посылаешь <Пароль>, то надо посылать и <ИмяПользователя>.

Из справки:

If lpUserName is NULL, the function uses the default user name.

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

Err:=WNetAddConnection2(nw,<Пароль>,<ИмяПользователя>,0)



 
malamba   (2003-06-02 09:58) [4]

А если по умолчанию - т. е. оставить пустые места, чттобы соединение открывалось на любой машине с соответствущим логином-паролем?
Вот по умолчанию чего-то не идет...


 
Lord Warlock ©   (2003-06-02 10:06) [5]

Как вижу, используешь форточку 95-98. Там возможено придется указывать и имя пользователя и пароль. Я работаю на Nt,2000 все подключается без проблем.


 
malamba   (2003-06-02 10:15) [6]

Нет, именно на 2000 Pro при установках по умолчанию и выдается ошибка 5.
Не сталкивался с таким?
Моежт плюнуть на все с горя и как-нибудь использовать Shell и Net use?


 
Lord Warlock ©   (2003-06-02 10:23) [7]

Так у тебя ресурсы отдельно запаролены или пользователь имеет доступ. Когда подключаешь вручную, пароль не спрашивается?. Если нет, то должно работать такое: (в общем аналог L ©)

const DiskT: array [0..MAX_PATH] of Char="\\Сервер\Расшаренный каталог";
var NetRes: NETRESOURCE;

begin
NetRes.dwType:=RESOURCETYPE_DISK;
NetRes.lpRemoteName:=DiskT;
NetRes.lpLocalName:="T:";
//Net Drives
if WNetAddConnection2(NetRes,nil,nil,CONNECT_UPDATE_PROFILE) in [NO_ERROR,ERROR_ALREADY_ASSIGNED] then
Writeln("Net Drive "T" Assigned")
else
Writeln("ERROR! Can`t assign network drive "T"");


 
malamba   (2003-06-02 10:36) [8]

Нашел!!!!
Теперь для будущих поколений можно пояснить:
У меня было то же самое, за исключением:
в описании WNetAddConnection2 купился на фразу "пустой пароль", "пустой логин", и ставил не nil, а " " -
соответственно ошибка и выдавалась.

Спасибо, Lord Warlock, уж не знаю как и отблагодарить...


 
Мое имя   (2003-06-02 18:46) [9]


> Спасибо, Lord Warlock, уж не знаю как и отблагодарить...
>

саблю какую-нить подарить.. раритетную. или кинджял там какой...



Страницы: 1 вся ветка

Текущий архив: 2003.08.07;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
14-20781
Qwww
2003-07-19 16:56
2003.08.07
scr>avi


7-20818
Антон
2003-05-26 15:05
2003.08.07
Определение входящих звонков


3-20406
Филипп
2003-07-16 14:04
2003.08.07
База данных ACCESS


7-20827
h-sargis
2003-05-27 20:30
2003.08.07
Как создать программудля редактирования параметров реестра


6-20658
Dwemer
2003-05-31 06:18
2003.08.07
Как программно прокрутить скролл-бары?