六行代码,调了一下午没搞定,请帮忙。
将网络共享目录映射到本机 Z: 盘
Edit1->Text; //内容为 "\\机器名\共享目录" ( \\\\ 和 \\ 我知道什么时候用)
edt_pass->Text; //内容为 "123456"
edt_id->Text; //内容为 "Administrator"
通过在windows运行输入 \\机器名
再输入用户名密码能访问网上邻居
程序中却怎么也搞不定
请哪位帮我看一下.
---------------------------------------
NETRESOURCE ns;
ns.dwType = RESOURCETYPE_DISK;
ns.lpLocalName ="Z:" ;
ns.lpProvider = NULL;
ns.lpRemoteName = Edit1->Text.c_str(); //内容为 "\\机器名\共享目录" ( \\\\ 和 \\ 我知道什么时候用)
if ( WNetAddConnection2(&ns, edt_pass->Text.c_str(), edt_id->Text.c_str(), 1) == NO_ERROR )
ShowMessage("ok");
else ShowMessage("no");
[解决办法]
将网络共享目录映射到本机 Z: 盘
这个一个subst命令就搞定的,要写程序么
比如你要把你的\\机器名\共享目录映射为z盘
就输入
subst z: \\机器名\共享目录
就可以了
解除的话用
\\机器名\共享目录
subst z:/d 就可以
你要是嫌麻烦,就自己把这个写到注册表里去,把下面的存成一个reg文件,执行一下,点文件夹的鼠标右键就能看到了
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Folder\shell\映射Z盘]
[HKEY_CLASSES_ROOT\Folder\shell\映射Z盘\command]
@="C:\\WINNT\\system32\\Subst.exe z: %1"
[HKEY_CLASSES_ROOT\Folder\shell\解除Z盘]
[HKEY_CLASSES_ROOT\Folder\shell\解除Z盘\command]
@="C:\\WINNT\\system32\\Subst.exe z: /d"
[解决办法]
不要直接用c_str()
我试了一下,成功了
void __fastcall TForm1::Button7Click(TObject *Sender)
{
NETRESOURCE ns;
char RemoteName[80];
strcpy(RemoteName, Edit1->Text.c_str());
ns.dwType = RESOURCETYPE_DISK;
ns.lpLocalName = "Z:";
ns.lpProvider = NULL;
ns.lpRemoteName = RemoteName;
if (WNetAddConnection2(&ns, NULL, NULL, CONNECT_UPDATE_PROFILE) == NO_ERROR)
ShowMessage("ok");
else
ShowMessage("no");
}
[解决办法]
mark
[解决办法]
蹭分!!
[解决办法]
MARK