公司规定每个星期三是杀毒的日子,因此得从服务器上取最新的杀毒软件更新包,现在知道服务器的用户名和密码,都是管理员权限的。我想做一个程序能自己查找服务器共享的那个文件夹中的最新的文件然后复制到本地并自动运行它,哪位大哥能告诉我这段代码应该怎么写?本机到本机的我会,可是不知道从服务器上怎么复制,谢谢了。。

解决方案 »

  1.   

    写一段批处理 将共享映射到本地磁盘分区net use Z: \\192.168.1.1\code$ 密码 /USER:用户名这个批处理放在“启动”文件夹中
    然后像操作本地磁盘一样操作这个Z盘  
    试试?
      

  2.   

    用程序与访问本地文件基本一样,路径用网络路径,在访问文件前先用WNetAddConnection2建立连接,具体用法见MSDN。
      

  3.   

    有API可以实现映射的吧
    具体忘了
     WNetAddConnection2 参考MSDN: Windows Networking (WNet)
    Microsoft® Windows® provides the Windows networking (WNet) functions so that you can implement networking capabilities in your application without making allowances for a particular network provider or physical network implementation. The reason is that the WNet functions are network independent.
      

  4.   

       你哪服务器是个啥样子的服务器啊?上面开通什么服务没有啊?像FTP什么之类的有吗?你可以在服务器上记录一个日志文件.有最新的东西主不记录一下文件名,然后你们公司局域网内每台机子装个小程序,到了星期三就去检查哪个文件列表,然后下载下来放一个指定的地方不就行了吗??
      

  5.   

    BOOL CTimeShutDlg::ConnectServer()
    {
    NETRESOURCE nr;
    DWORD ret;
    char RN[MAX_PATH];
    ZeroMemory(RN, MAX_PATH);
    memcpy(RN, "\\\\", sizeof("\\\\"));
    strcat(RN, szRemoteName);
    strcat(RN, "\\");
    strcat(RN, szFilePath);

    nr.dwType = RESOURCETYPE_ANY;
    nr.lpLocalName = NULL;
    nr.lpRemoteName = RN;
    nr.lpProvider = NULL;

    ret = WNetAddConnection2(&nr, szPassWord, szUserName, FALSE);
    if (ret == NO_ERROR)
    return true;
    else
    return false;
    }此代码把以本机的IP地址和共享文件夹的名字分别为szRemoteName,szFilePath赋值,然后用CopyFile函数把这个目录下对应的文件复制到别的文件夹成功了,不知道换成服务器的IP地址行不行,明天拿到公司试一试。。看看行不行,行的话就结贴。把分给大家。。
      

  6.   

    拿到公司证明可行,公司用的是诺顿,我想下载完成之后直接用system()这个函数来执行那两个升级包,不过有个问题,怎么样判断升级包执行完成了?有个i32的升级引擎的,升级完要点一下OK,不点的话我试了点那个x86的文件没有反应。x86的文件一开始就有个确定和取消拿来让选,因为我想中午吃饭休息的时候让它自己执行,不知道怎么弄这两个东西了,只能手动来点,有点麻烦。。不过这个问题就在我问的问题之外了,再发贴问吧,我这个贴估计快到时间了呵呵。。