你的用法有问题。因该如下:(BCB)
如果你将机器名为PC1所共享的目录D(表述为\\PC1\D)映射位你的本当地硬盘I:
此时Loc=I:函数返回RemoteName=\\PC1\D.Len为RemoteName的长度。
char Loc[255];
strcpy(Loc,Edit1->Text.c_str());
char RemoteName[255];
DWORD Len;
WNetGetConnection(Loc,RemoteName,&Len);
ShowMessage(RemoteName);
如果你将机器名为PC1所共享的目录D(表述为\\PC1\D)映射位你的本当地硬盘I:
此时Loc=I:函数返回RemoteName=\\PC1\D.Len为RemoteName的长度。
char Loc[255];
strcpy(Loc,Edit1->Text.c_str());
char RemoteName[255];
DWORD Len;
WNetGetConnection(Loc,RemoteName,&Len);
ShowMessage(RemoteName);
解决方案 »
- 全局变量赋值的问题
- 我是初学者??
- 紧急求助,我得ado用不了!!!!
- datetostr(2004/02/29)为什么得出的结果却是1900-2-2 ?
- 求救
- 高手------超级简单 100相送5555555555555555555555555555555555555555555555
- 急问题,在线等
- 安装activex控件中遇到提示:'ComSerV' cannot be put into a package,怎么回事啊?
- DirectDraw.pas编译不过?
- 用delphi5编程,使用TDBEdit控件,与他相连的字段是float类型,在输入完2.95后这个数自动变为2.94,为何?
- 难以理解的bug
- 如何配置Delphi 4.0 开发的多层数据库中的应用服务器.
s1保留最后结果。
function TForm1.GetNetworkDriveMappings(s1:tstrings):integer;
var
i:integer;
sNetPath:string;
sLocalName:string;
s1Current:string;
dwMaxNetPathLen:DWord;
GetReturn:DWORD;
begin
s1.Clear;
dwMaxNetPathLen:=MAX_PATH;
SetLength(sNetPath,dwMaxNetPathLen);
for i:=3 to 25 do
begin
sLocalName:=''+Chr(65+i)+':';
GetReturn:=Windows.WNetGetConnection(PChar(sLocalName),PChar(sNetPath),dwMaxNetPathLen);
if (GetReturn=NO_ERROR) then
begin
s1Current:=inttostr(i)+'--'+chr(65+i)+':'+sNetPath;
s1.add(s1Current);
//sNetPath:='';
end;
GetReturn:=0; end;
Result:=s1.Count;
end;