当前位置:编程学习 > VB >>

请教有关VB代码中实现,本地登录到局域网内某台电脑的问题

我在vb代码中,用WNetAddConnection2要实现访问局域网内的某台电脑,如下代码:
Dim retVal     As Long              
Dim NetR     As NETRESOURCE
NetR.dwScope = RESOURCE_GLOBALNET
NetR.dwType = RESOURCETYPE_DISK
NetR.dwDisplayType = RESOURCEDISPLAYTYPE_GENERIC
NetR.lpLocalName = MapDriver
NetR.lpRemoteName = UNCPath
retVal = WNetAddConnection2(NetR, password, username, CONNECT_UPDATE_PROFILE)

但发现两个个问题:
1、假设对方那台电脑提供的登录用户名为Test,密码为空,则执行上述代码retVal会返回错误代码,而非0;
若提供的登录帐号是有密码的,输入密码登录则没问题,请问这是什么原因?怎么解决?

2、若一开始用帐号Test,密码Test登录成功后,此时若想用别的帐号登录,则无法登录,retVal会返回错误代码!
请问怎么注销之前的帐号登录连接,重新用别的帐号进行登录??? 

非常感谢
        --------------------编程问答-------------------- 肯定是注册表设置了不能使用空密码访问~你更改一下即可
在组策略里也有 --------------------编程问答-------------------- 谢谢1楼,
但我直接在windows开始--运行,输入“\\对方电脑名称”,在弹出的登录对话框中,我输入用户名Test,密码为空,登录却是没问题的!这个还好,我提供一个带密码的帐号好了,但头痛的是上面第2个问题。。。 --------------------编程问答-------------------- 先用WNetCancelConnection2注销。
MSDN中这几个函数是一组的,猜也猜出来了。 --------------------编程问答-------------------- 谢谢3楼。
用WNetCancelConnection2我也试过,返回0,没问题,
但之后再用别的帐号(带密码)登录,仍会返回错误代码,错误代码是“1219” --------------------编程问答-------------------- mark
--------------------编程问答-------------------- 操作系统是不是Win2000?
如果手工打开UNC路径,输入用户名和密码后:在WinXP上,可以在用户管理中将该登陆删除,而在Win2000上却做不到。
很可能是操作系统问题了。 --------------------编程问答-------------------- MARK,跟进学习一哈!
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,