我调用WNetAddConnection2函数跟另一台电脑连接,但是如果用户名或密码错误的话,系统会弹出一个询问用户名和密码的对话框,该函数一直在这里阻塞,直到你输入正确的用户名和密码或者你按取消按钮,这个函数才返回。我想请问该怎么设置参数或者该怎么做,才可以使这个函数在用户名或密码错误的情况下返回错误,而不是弹出对话框询问用户名和密码。即不需要有交互过程,用户名和密码正确的话,函数返回成功,错误的话函数返回失败。该怎么样做才能达到这个效果啊?

解决方案 »

  1.   

    试试用CONNECT_PROMPT
    NETRESOURCE net;
    ZeroMemory(&net, sizeof(net));
    net.dwType = RESOURCETYPE_DISK;
    net.lpRemoteName = "\\\\192.168.0.1\\C$";
    net.lpLocalName = "K:"; WNetAddConnection2(&net, "user", "pwd", CONNECT_PROMPT);
      

  2.   

    我的函数是这样的,但连不上,dwResult 的值一直为67。请问这个函数哪里有错?
    ConnectionRemoteCompter(CString strRemoteName,CString strUsername,CString strPassword)
    {
    NETRESOURCE rNetRC; rNetRC.dwScope = RESOURCE_GLOBALNET;
    rNetRC.dwType = RESOURCETYPE_ANY;
    rNetRC.dwDisplayType = RESOURCEDISPLAYTYPE_GENERIC;
    rNetRC.dwUsage = RESOURCEUSAGE_CONNECTABLE;
    rNetRC.lpLocalName = NULL; 
    rNetRC.lpRemoteName = (LPTSTR)(LPCSTR)strRemoteName;
    rNetRC.lpComment = NULL; 
    rNetRC.lpProvider = NULL;  DWORD dwResult = WNetAddConnection2       (&rNetRC,strUsername,strPassword,CONNECT_UPDATE_PROFILE);
    BOOL re = FALSE;
    if(dwResult == NO_ERROR)
    re = TRUE;
    return re;
    }