哪位大虾给个用WNetAddConnection2来设置网络驱动器的例子?

readnothing 2002-08-30 05:19:18
要能够运行成功的,谢谢
...全文
279 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
readnothing 2002-09-12
  • 打赏
  • 举报
回复
3x,给分
readnothing 2002-09-12
  • 打赏
  • 举报
回复
3x,给分
masterz 2002-08-30
  • 打赏
  • 举报
回复
#include <windows.h>
#include <stdio.h>
#include <winnetwk.h>
#pragma comment(lib,"mpr")
void main()
{
NETRESOURCE nr;
DWORD res;
TCHAR szUserName[32] = "masterz",//MyUserName
szPassword[32] = "a",//MyPassword
szLocalName[32] = "Q:",
szRemoteName[MAX_PATH] = "\\\\sun\\download";
//
// Assign values to the NETRESOURCE structure.
//
nr.dwType = RESOURCETYPE_ANY;
nr.lpLocalName = szLocalName;
nr.lpRemoteName = szRemoteName;
nr.lpProvider = NULL;
//
// Call the WNetAddConnection2 function to assign
// a drive letter to the share.
//
res = WNetAddConnection2(&nr, szPassword, szUserName, FALSE);
//
// If the call succeeds, inform the user; otherwise,
// print the error.
//
switch(res)
{
case NO_ERROR:
printf("Connection added %s \n", szRemoteName);
break;
case ERROR_ACCESS_DENIED:
printf("Connection added %s ERROR_ACCESS_DENIED\n", szRemoteName);
break;
case ERROR_ALREADY_ASSIGNED:
printf("Connection added %s ERROR_ALREADY_ASSIGNED\n", szRemoteName);
break;
case ERROR_BAD_DEV_TYPE:
printf("Connection added %s ERROR_BAD_DEV_TYPE\n", szRemoteName);
break;
case ERROR_BAD_DEVICE:
printf("Connection added %s ERROR_BAD_DEVICE\n", szRemoteName);
break;
case ERROR_BAD_NET_NAME:
printf("Connection added %s ERROR_BAD_NET_NAME\n", szRemoteName);
break;
case ERROR_BAD_PROFILE:
printf("Connection added %s ERROR_BAD_PROFILE\n", szRemoteName);
break;
case ERROR_BAD_PROVIDER:
printf("Connection added %s ERROR_BAD_PROVIDER\n", szRemoteName);
break;
case ERROR_BUSY:
printf("Connection added %s ERROR_BUSY\n", szRemoteName);
break;
case ERROR_CANCELLED:
printf("Connection added %s ERROR_CANCELLED\n", szRemoteName);
break;
case ERROR_CANNOT_OPEN_PROFILE:
printf("Connection added %s ERROR_CANNOT_OPEN_PROFILE\n", szRemoteName);
break;
case ERROR_DEVICE_ALREADY_REMEMBERED:
printf("Connection added %s ERROR_DEVICE_ALREADY_REMEMBERED\n", szRemoteName);
break;
case ERROR_EXTENDED_ERROR:
{
printf("Connection added %s ERROR_EXTENDED_ERROR\n", szRemoteName);
DWORD dwWNetResult, dwLastError;
CHAR szError[256];
CHAR szCaption[256];
CHAR szDescription[256];
CHAR szProvider[256];
dwWNetResult = WNetGetLastError(&dwLastError, // error code
(LPSTR) szDescription, // buffer for error description
sizeof(szDescription), // size of error buffer
(LPSTR) szProvider, // buffer for provider name
sizeof(szProvider)); // size of name buffer

//
// Process errors.
//
if(dwWNetResult != NO_ERROR) {
wsprintf((LPSTR) szError,
"WNetGetLastError failed; error %ld", dwWNetResult);
MessageBox(NULL, (LPSTR) szError,
"WNetGetLastError", MB_OK);
return ;
}
//
// Otherwise, print the additional error information.
//
wsprintf((LPSTR) szError,
"%s failed with code %ld;\n%s",
(LPSTR) szProvider, dwLastError, (LPSTR) szDescription);
MessageBox(NULL, (LPSTR) szError, (LPSTR) szCaption, MB_OK);

}
break;
case ERROR_INVALID_PASSWORD:
printf("Connection added %s ERROR_INVALID_PASSWORD\n", szRemoteName);
break;
case ERROR_NO_NET_OR_BAD_PATH:
printf("Connection added %s ERROR_NO_NET_OR_BAD_PATH\n", szRemoteName);
break;
case ERROR_NO_NETWORK:
printf("Connection added %s ERROR_NO_NETWORK\n", szRemoteName);
break;
}
return;
}

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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