Форум: "Сети";
Текущий архив: 2003.08.07;
Скачать: [xml.tar.bz2];
ВнизДоступ к сетевым ресурсам Найти похожие ветки
← →
TVV (2003-05-17 16:14) [0]Как открыть(закрыть) доступ сетевым ресурсам с соответствующими парамерами (сетевое имя, пароль и тд.) из своей программы.
← →
L (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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c