안녕하십니까?
프로그램으로 네트워크 드라이브를 연결하는데 다른 OS에서는 연결이 잘 되는데 Win2000 Professional에서 연결이 잘 안됩니다. 어떤 컴에서는 되는 컴도 있고 함수를 잘못 쓴건지 아니면 뭐가 문제인지 모르겠습니다.
소스도 함께 올립니다.
OS가 WinNT일때 네트워크 드라이브 연결 부분 입니다.
aUser := Server_User + #0;
aPwd := Server_Pwd + #0;
with ANetResource do
begin
dwType:=RESOURCETYPE_DISK;
lpLocalName := PChar(Server_Dir);
lpRemoteName := PChar(Server_path);
lpProvider:=nil;
end;
StrPCopy(NT_DName, Server_Dir );
StrCopy(PW,@aPwd[1]);
StrCopy(UN,@aUser[1]);
WNetCancelConnection2(PChar(Server_Dir),0,TRUE);
rt := WNetAddConnection2(ANetResource, @PW, @UN, 0);
위의 WNetAddConnection2()함수가 Win 2000 Profe~~에서 제대로 동작 하지 않는것지 답변 부탁 드립니다.
감사 합니다.
Win2000 Professional에대해서 Delphi가 제대로 certify안된 부분이 많다고 하더군요...(그럼 어쩌라구?) --;
저도 동일한 문제땀시롱 고생꽤나 했는데,
아래 URL로 가보세요. 제시된 Source를 사용하니 잘 되더군요.
http://www.scalabium.com/faq/dct0075.htm
단,
nw.lpLocalName := nil;
이기 때문에 드라이브 접근할때, Fullname으로 하셔야 합져 ^^;
예를들어,
nw.lpLocalName := 'X:';
로 했다면
Image1.Picture.LoadFromFile('X:imageimage1.jpg');
같이 하면 되지만,
nil로 잡았기 때문에
Image1.Picture.LoadFromFile('\123.123.123.99.imageimage1.jpg');
같이 해야 접근할 수 있자나여^^;
Windows2000 Professional에서 잘 돕니다.
- 끝 -