怎么根据用户名和密码访问局域网中一台固定电脑中的文件夹(有或者没有密码两种方式)并复制过来。
      本人初学。最好是vc程序。谢谢!

解决方案 »

  1.   

    只知道,如果对方的管理员密码你有,而且他的机器开着IPC$共享.而且你要的目录的盘符是共享的如C$  d$那么可以执行下面的命令拷贝目录的文件net user \\它的ip\ipc$ "password" /user:"username"
    copy \\ip\c$\abc\*.*  d:\....如果没有IPC,默认共享的话,可以用微软的一个OPENTELENT工具打开对方的TELNET服务,
    从而达到共享目地.  在用就是计划任务了..好像和你的没有什么关系:(
      

  2.   

    我就想做一个按钮控件,1。能显示局域网我想找的那个文件夹,2。然后把他复制过来。(也是一个按钮).用vc写出这两个button的代码。
      

  3.   

    1、使用WNetEnumResource相关的函数,列举网络相关的共享资源。
    2、就是楼上所说的那样就可以了
      

  4.   

    摘自msdn,改改基本可以达到要求。
    BOOL WINAPI EnumerateFunc(HWND hwnd, 
                              HDC hdc, 
                              LPNETRESOURCE lpnr)

      DWORD dwResult, dwResultEnum;
      HANDLE hEnum;
      DWORD cbBuffer = 16384;      // 16K is a good size
      DWORD cEntries = -1;         // enumerate all possible entries
      LPNETRESOURCE lpnrLocal;     // pointer to enumerated structures
      DWORD i;
      //
      // Call the WNetOpenEnum function to begin the enumeration.
      //
      dwResult = WNetOpenEnum(RESOURCE_GLOBALNET, // all network resources
                              RESOURCETYPE_ANY,   // all resources
                              0,        // enumerate all resources
                              lpnr,     // NULL first time the function is called
                              &hEnum);  // handle to the resource  if (dwResult != NO_ERROR)
      {  
        //
        // Process errors with an application-defined error handler.
        //
        NetErrorHandler(hwnd, dwResult, (LPSTR)"WNetOpenEnum");
        return FALSE;
      }
      //
      // Call the GlobalAlloc function to allocate resources.
      //
      lpnrLocal = (LPNETRESOURCE) GlobalAlloc(GPTR, cbBuffer);
      if (lpnrLocal == NULL) 
          return FALSE;
      
      do
      {  
        //
        // Initialize the buffer.
        //
        ZeroMemory(lpnrLocal, cbBuffer);
        //
        // Call the WNetEnumResource function to continue
        //  the enumeration.
        //
        dwResultEnum = WNetEnumResource(hEnum,      // resource handle
                                        &cEntries,  // defined locally as -1
                                        lpnrLocal,  // LPNETRESOURCE
                                        &cbBuffer); // buffer size
        //
        // If the call succeeds, loop through the structures.
        //
        if (dwResultEnum == NO_ERROR)
        {
          for(i = 0; i < cEntries; i++)
          {
            // Call an application-defined function to
            //  display the contents of the NETRESOURCE structures.
            //
            DisplayStruct(hdc, &lpnrLocal[i]);        // If the NETRESOURCE structure represents a container resource, 
            //  call the EnumerateFunc function recursively.        if(RESOURCEUSAGE_CONTAINER == (lpnrLocal[i].dwUsage
                                           & RESOURCEUSAGE_CONTAINER))
              if(!EnumerateFunc(hwnd, hdc, &lpnrLocal[i]))
                TextOut(hdc, 10, 10, "EnumerateFunc returned FALSE.", 29);
          }
        }
        // Process errors.
        //
        else if (dwResultEnum != ERROR_NO_MORE_ITEMS)
        {
          NetErrorHandler(hwnd, dwResultEnum, (LPSTR)"WNetEnumResource");
          break;
        }
      }
      //
      // End do.
      //
      while(dwResultEnum != ERROR_NO_MORE_ITEMS);
      //
      // Call the GlobalFree function to free the memory.
      //
      GlobalFree((HGLOBAL)lpnrLocal);
      //
      // Call WNetCloseEnum to end the enumeration.
      //
      dwResult = WNetCloseEnum(hEnum);
      
      if(dwResult != NO_ERROR)
      { 
        //
        // Process errors.
        //
        NetErrorHandler(hwnd, dwResult, (LPSTR)"WNetCloseEnum");
        return FALSE;
      }  return TRUE;
    }
      

  5.   

    查看MSDN的lan manager函数组,也可像楼上说的用WinExec()执行控制台命令,只不过不大好处理错误。
      

  6.   

    最后是简单可执行代码,不要老是msdn。 求高手指点。