关于映射到网络驱动器!(50分)

  • 主题发起人 aabb0281
  • 开始时间
A

aabb0281

Unregistered / Unconfirmed
GUEST, unregistred user!
机房的每台机器都需要映射到服务器,有什么办法可以在机器启动时候不显示映射到
服务器的画面!
 
选择登陆时重新连接不可以吗?Win2000没这个问题
 
但他显示那个映射的过程画面,我们不想让别人看到这个画面!我们用的是98 !
 
直接使用路径如: //ntserver/aaa
 
可以使用 NET USER H: //ServerName/ShareDirectory 试试
 
用WNetAddConnection2映射,WNetCancelConnection2断开。具体的使用请看帮助。
支持映射到本地或用路径直接访问。
 
使用程序映射。
而不是使用Windows的下次登陆重新连接选项。
 
一般学校的电脑都装有硬盘保护卡
 
lining2002:是的!我们用的就是windows下的映射驱动器,每次机器重起的时候,都出现
映射的画面,有什么办法可以不让别人看到吗?我们的目的就是不让别人知道我们映射的是
哪台服务器!谢谢
 
不会吧?
net use一切不都清楚了。
即使你删除net命令,只要有网络,很容易弄出来的。
 
yzhshi:没有用过net use!刚才试了试试,果然都可以看到!这个没什么!我们只是希望在
windows启动的时候不出现那个映射到网络驱动器画面就可以了!有什么好的方法吗?谢谢
 
一个简单的办法就是你自己写一个小程序代替Windows的映射。。
function ConnectDrive(_drvLetter: string;
_netPath: string;
_showError: Boolean;
_reconnect: Boolean): DWORD;
var
nRes: TNetResource;
errCode: DWORD;
dwFlags: DWORD;
begin
{ Fill NetRessource with #0 to provide uninitialized values }
FillChar(NRes, SizeOf(NRes), #0);
nRes.dwType := RESOURCETYPE_DISK;
{ Set Driveletter and Networkpath }
nRes.lpLocalName := PChar(_drvLetter);
nRes.lpRemoteName := PChar(_netPath);
{ Example: //Test/C }
{ Check if it should be saved for use after restart and set flags }
if _reconnect then
dwFlags := CONNECT_UPDATE_PROFILE and CONNECT_INTERACTIVE
else
dwFlags := CONNECT_INTERACTIVE;
errCode := WNetAddConnection3(Form1.Handle, nRes, nil, nil, dwFlags);
{ Show Errormessage, if flag is set }
if (errCode <> NO_ERROR) and (_showError) then
begin
Application.MessageBox(PChar('An error occured while connecting:' + #13#10 +
SysErrorMessage(GetLastError)),
'Error while connecting!',
MB_OK);
end;
Result := errCode;
{ NO_ERROR }
end;

function DisconnectNetDrive(_locDrive: string;
_showError: Boolean;
_force: Boolean;
_save: Boolean): DWORD;
var
dwFlags: DWORD;
errCode: DWORD;
begin
{ Set dwFlags, if necessary }
{ Setze dwFlags auf gewünschten Wert }
if _save then
dwFlags := CONNECT_UPDATE_PROFILE
else
dwFlags := 0;
{ Cancel the connection see also at http://www.swissdelphicenter.ch/en/showcode.php?id=391 }
errCode := WNetCancelConnection2(PChar(_locDrive), dwFlags, _force);
{ Show Errormessage, if flag is set }
if (errCode <> NO_ERROR) and (_showError) then
begin
Application.MessageBox(PChar('An error occured while disconnecting:' + #13#10 +
SysErrorMessage(GetLastError)),
'Error while disconnecting',
MB_OK);
end;
Result := errCode;
{ NO_ERROR }
end;

{映射网络驱动器}
procedure TForm1.Button1Click(Sender: TObject);
begin
ConnectDrive('O:', '//SERVER/C$', True, True);
end;

{断开网络驱动器}
procedure TForm1.Button2Click(Sender: TObject);
begin
DisconnectNetDrive('M:', True, True, True);
end;
 
yzhshi:这办法的确可以!但考虑到一些其他因素,在我们这不具备可行性!有没有其他的
方法,就像去掉window登陆的那个画面一样,去修改注册表什么的?!谢谢
 
噢,这个倒没有想过,也许可能,不过真的没见过。
 
yzhshi:仍然十分感谢你的答复!
 
据我所知好象不太可能做到。而且通常不注意的话是不大会看清楚,除非你的映射盘很多。
因为我也是个网管,用过网络眏射。就算别人知道服务器的名称,他又能做什么?一般情况
下服务器的目录共享的权限是可以设得比较细,NT或2000都能设定访问者的名单。
 
yzhshi 回答精典,其实你还有什么顾虑,只是安装一个小程序而以。
 
请问如何将ftp和http映射到本地硬盘?
 
顶部