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

Вниз

Проблема с подключением сетевого диска   Найти похожие ветки 

 
xGhost ©   (2003-10-07 13:25) [0]

Использую функцию WNetAddConnection , если удалёный компьютер 98
то диск подключаеться как нив-чём не бывало , если win2000 pro то подключение не производиться хотя и пишет что ошибок нет ! в чём дело ? Если использовать стандартные средства windows то всё работает ...


 
Unknown   (2003-10-07 13:35) [1]

кто пишет что нету ошибок ? случайно не ты ? :)


 
xGhost ©   (2003-10-07 13:56) [2]

> Unknown

Если ты не умеешь пользоваться отладкой то это твои проблемы !
И если ты не умеешь отвечать на вопросы это тоже твои проблемы !


 
Unknown   (2003-10-07 14:09) [3]

>>xGhost © (07.10.03 13:56) [2]
ну ты даещь...
хотя бы код привел... тут на форуме много говорят про телепатии но никто толком еще не нучился этому делу :)


 
Warlock ©   (2003-10-07 14:11) [4]

var NetRes: NETRESOURCE;

NetRes.dwType:=RESOURCETYPE_DISK;
NetRes.lpRemoteName:="\\Server\Folder";
NetRes.lpLocalName:="T:";

if WNetAddConnection2(NetRes,nil,nil,CONNECT_UPDATE_PROFILE) in [NO_ERROR,ERROR_ALREADY_ASSIGNED] then
Writeln("Net Drive "W" Assigned")
else
Writeln("ERROR! Can`t assign network drive "W"");


 
xGhost ©   (2003-10-07 14:14) [5]

> так не канает :(

не идёт и всё !

подключал вот так
WNetAddConnection(pchar("\\"+form5.ip_2.Caption+"\"+formconfig.name_dik_res.Text),pchar(pas_s),pchar(formconfig.Name_sd. Caption))

так работает на win9x на NT не хочет !

Нащёл код для NT

function GetMap(pDrv, pS: string): boolean;
var
nw : TNetResource;
Err : DWORD;
sMsg : string;
begin
Result := False;
nw.dwType:=RESOURCETYPE_DISK;
nw.lpLocalName:=PCHAR(pDrv+":");
nw.lpRemoteName:=PChar(pS);
nw.lpProvider:=nil;
sMsg := "";
Err:=WNetAddConnection2(nw,nil,nil,0); // попытка подключить сетевой диск
If (Err=NO_ERROR) or (Err=ERROR_DEVICE_ALREADY_REMEMBERED) then
begin
Result := True;
//WNetCancelConnection2(nw.lpLocalName,0,True); // отключить сетевой диск
end
else
begin
case Err of
ERROR_ACCESS_DENIED :
sMsg:="Недоступен сетевой ресурс "+nw.lpRemoteName;
//sMsg:="Access to the network resource was denied";
ERROR_ALREADY_ASSIGNED :
begin
//sMsg:="Локальное устройство, указанное как ""+nw.lpLocalName+"" уже соединено с ресурсом сети";
//sMsg:="The local device specified by lpLocalName is already connected to a network resource";
Result := True;
end;
ERROR_BAD_DEV_TYPE :
sMsg:="Тип локального устройства и тип ресурса сети не согласуются";
//sMsg:="The type of local device and the type of network resource do not match";
ERROR_BAD_DEVICE :
//sMsg:="The value specified by lpLocalName is invalid";
sMsg:="Значение, указанное как ""+nw.lpLocalName+"" недопустимо";
ERROR_BAD_NET_NAME :
//sMsg:="The value specified by lpRemoteName is not acceptable to any network resource provider. The resource name is invalid, or the named resource cannot be located";
sMsg:="Значение, указанное как ""+nw.lpRemoteName+"" недопустимо для любого поставщика ресурса сети. Имя ресурса недопустимо, или именованный ресурс не может размещен";
ERROR_BAD_PROFILE :
//sMsg:="The user profile is in an incorrect format";
sMsg:="Профиль пользователя имеет некорректный формат";
ERROR_BAD_PROVIDER :
//sMsg:="The value specified by lpProvider does not match any provider";
sMsg:="Значение, указанное lpProvider не соответствует никакому поставщику";
ERROR_BUSY :
//sMsg:="The router or provider is busy, possibly initializing. The caller should retry";
sMsg:="Программа маршрутизации или поставщик заняты, возможно инициализация. Повторите вызов позже";
ERROR_CANCELLED :
//sMsg:="The attempt to make the connection was cancelled by the user through a dialog box from one of the network resource providers, or by a called resource";
sMsg:="Попытка делать связь была отменена пользователем через блок диалога от одного из поставщиков ресурса сети, или называемым ресурсом";
ERROR_CANNOT_OPEN_PROFILE :
//sMsg:="The system is unable to open the user profile to process persistent connections";
sMsg:="Система неспособна открыть профиль пользователя, чтобы обработать постоянные связи";
ERROR_DEVICE_ALREADY_REMEMBERED :
//sMsg:="An entry for the device specified in lpLocalName is already in the user profile";
sMsg:="Вход для устройства, указанного в ""+nw.lpLocalName+"" - уже в профиле пользователя";
ERROR_EXTENDED_ERROR :
//sMsg:="A network-specific error occured. Call the WNetGetLastError function to get a description of the error";
sMsg:="Сетевая ошибка уже встречалась. Назовите функцию WNETGETLASTERROR, чтобы получить описание ошибки";
ERROR_INVALID_PASSWORD :
//sMsg:="The specified password is invalid";
sMsg:="Указанный сетевой пароль неверен";
ERROR_NO_NET_OR_BAD_PATH :
//sMsg:="A network component has not started, or the specified name could not be handled";
sMsg:="Сеть не запущена, или указанное имя не могло быть обработано";
ERROR_NO_NETWORK :
//sMsg:="There is no network present";
sMsg:="Сеть недоступна";
else
sMsg:=IntToStr(Err)+" - код ошибки при подключении диска "+pDrv;
end;
if sMsg<>"" then
ShowMessage(sMsg);
end;
end;

но так отказываеться работать на win9x говорит что пароль не верный :(


 
Reindeer Moss Eater ©   (2003-10-07 14:15) [6]

Если ERROR_ALREADY_ASSIGNED то про ошибки твой код не напишет, а диск не замапится.


 
xGhost ©   (2003-10-07 14:25) [7]

> Reindeer Moss Eater
уже нашёл и исправил


 
xGhost ©   (2003-10-07 14:28) [8]

Всё всем спасибо ! данный код который я нашёл позволяет работать с любуй OS семейства windows ( не считая win3.1 ) так что всем спасибо ещё раз ! проблемы больше нет



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

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

Наверх




Память: 0.49 MB
Время: 0.01 c
4-11740
tim
2003-10-07 10:58
2003.12.04
Как правильно организовать поток?


6-11654
ilka
2003-10-01 15:01
2003.12.04
TIdHttpServer TIdHttp TIdTCPClient TIdTCPServer


4-11722
SkyN
2003-10-08 13:31
2003.12.04
Как установить значение в комп. DBLookupComboBox чужой программы


14-11703
electric
2003-11-12 20:12
2003.12.04
$$$ Money $$$


6-11640
Recruit
2003-10-10 12:16
2003.12.04
Как узнать SMTP-сервер?