创建网络映射

hansyswin 2008-12-13 01:11:48
想在程序运行时创建网络映射, 比如 Z: 然后在需要的时候关闭它,因为是在域里, 所以要带用户名与密码创建和访问。 请高手指教。 谢谢。
...全文
109 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hnzlk 2008-12-13
  • 打赏
  • 举报
回复
用百度和谷歌
BCBPLC 2008-12-13
  • 打赏
  • 举报
回复
API中有,搜,这种文章太多了.
我用了共享连接,没有映射盘符,成功了.
hnzlk 2008-12-13
  • 打赏
  • 举报
回复

//第一种方法是用dos命令
WinExec("net use M: //18.139.xxx.xxx/c$ ""密码"" /user:""用户名"",SW_HIDE);
第二种方法用用NetShareAdd函数:
HANDLE hToken;
TOKEN_PRIVILEGES tk;
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,& hToken);
LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,& tk.Privileges[0].Luid);
tk.PrivilegeCount=1;
tk.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,FALSE,& tk,0,(PTOKEN_PRIVILEGES)NULL,0);/**/
NET_API_STATUS res;
SHARE_INFO_2 p;
DWORD parm_err = NULL;
p.shi2_netname = WideString(sNetname.SubString(1,sNetname.Length()));
//p.shi2_netname = WideString("helo");
ShowMessage(AnsiString(p.shi2_netname).Length());
p.shi2_type = STYPE_DISKTREE; // disk drive
p.shi2_remark = WideString("TESTSHARE to test NetShareAdd") ;
p.shi2_permissions = 0;
p.shi2_max_uses = -1;
p.shi2_current_uses = 0;
p.shi2_path = WideString(sPath.SubString(1,sPath.Length()-1));
//p.shi2_path = WideString("c:\\");
//ShowMessage(p.shi2_path);
p.shi2_passwd = NULL; // no password
res=NetShareAdd(NULL, 2, (LPBYTE) &p, &parm_err);
switch(res)
{
case NERR_Success: sMsg = ("成功共享"+sPath+"\n");break;
case ERROR_ACCESS_DENIED:sMsg = ("ERROR_ACCESS_DENIED\n");break;
case ERROR_INVALID_LEVEL:sMsg = ("ERROR_INVALID_LEVEL\n");break;
case ERROR_INVALID_NAME:sMsg = ("ERROR_INVALID_NAME\n");break;
case ERROR_INVALID_PARAMETER:sMsg = ("ERROR_INVALID_PARAMETER\n");break;
case NERR_DuplicateShare:sMsg = ("NERR_DuplicateShare\n");break;
case NERR_RedirectedPath:sMsg = ("NERR_RedirectedPath\n");break;
case NERR_UnknownDevDir:sMsg = ("NERR_UnknownDevDir\n");break;
default:sMsg = ("未知的错误\n");break;
}

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧