简单的方法是程序中调用 net 命令 ------------- net use 本地盘符 目标计算机共享点——本命令用于建立或取消到达特定共享点的映像驱动器的连接(如果需要,你必须提供用户id或口令)。例如,你输入net use f: \\lx\mp3就是将映像驱动器f:连接到\\lx\mp3共享点上,今后你直接访问f:就可以访问\\lx\mp3共享点,这和你右击“我的电脑”选择映射网络驱动器类似。 ------------- 或者使用 microsoft 提供的网络辅助函数,不过我记不清名字了 :)
to: gboy(★)(★) 呵呵,你没看清楼主的意思,他不是想怎么去映射一个网络映射盘,而是映射好以后下次启动时怎么样自动连接的问题。
to: ndy_w(carpe diem) 我曾经调用过WNetAddConnection2函数,可是老失败,我查了失败的原因是说我那个结构里面的lpRemoteName参数错误,是无效的,不管我写的是他的电脑名还是IP地址都不行,不知怎么回事。to: cheng_young(古道西风瘦马) 你这段程序我用了,调用函数: LogonUser("Administrator", "\\\\192.168.1.6","testpass", 2, 0, &hToken); 时出错,错误代码是1314,我查了一下错误信息为:A required privilege is not held by the client. 是不是参数错误了?
-------------
net use 本地盘符 目标计算机共享点——本命令用于建立或取消到达特定共享点的映像驱动器的连接(如果需要,你必须提供用户id或口令)。例如,你输入net use f: \\lx\mp3就是将映像驱动器f:连接到\\lx\mp3共享点上,今后你直接访问f:就可以访问\\lx\mp3共享点,这和你右击“我的电脑”选择映射网络驱动器类似。 -------------
或者使用 microsoft 提供的网络辅助函数,不过我记不清名字了 :)
我是问该怎么编程才能登陆,而不是问在WINDOWS启动时怎么启动一个程序。
1.在本机及192.168.0.1上建立TestLogon用户,
2.本机:本地安全策略->本地策略->用户权利指派-> "以操作系统方式操作"中添加运行程序的用户(应该可以通过编程调整,因后来代码没用, 没去看)
3.重启. HANDLE hToken;
if (!LogonUser("TestLogon", "\\\\192.168.0.1",
"pwd", 2, 0, &hToken))
{
CString str;
str.Format("%d", GetLastError());
MessageBox(str, "LogonUser Error");
return;
} ImpersonateLoggedOnUser(hToken); CStdioFile file;
CFileException e;
CString strName = "\\\\192.168.0.1\\f\\logon_create.txt";
if (!file.Open(strName, CFile::modeCreate|CFile::modeReadWrite, &e))
{
e.ReportError();
return;
}
file.WriteString("test logon!");
file.Close();
我曾经调用过WNetAddConnection2函数,可是老失败,我查了失败的原因是说我那个结构里面的lpRemoteName参数错误,是无效的,不管我写的是他的电脑名还是IP地址都不行,不知怎么回事。to: cheng_young(古道西风瘦马)
你这段程序我用了,调用函数:
LogonUser("Administrator", "\\\\192.168.1.6","testpass", 2, 0, &hToken);
时出错,错误代码是1314,我查了一下错误信息为:A required privilege is not held by the client.
是不是参数错误了?
"\\\\server\\path"
"\\\\server\\path"
1.在本机及192.168.1.6上各建一用户, 用户名和密码都相同
2.本机:本地安全策略->本地策略->用户权利指派-> "以操作系统方式操作"中添加运行程序的用户, 一般就是Aministrator
3.重启.