VB咱没用过,不过思路应是一样的。一定时间自动拷文件可能要用到定时器,两台电脑间连接可能要用到socket,你在Delphi中可以用FastNet那组控件完成需要的功能!

解决方案 »

  1.   

    各位VB高手,有哪位熟悉ADSI问题呀?快帮帮我;
    http://expert.csdn.net/Expert/topic/1277/1277444.xml?temp=.7517664
      

  2.   

    一小时一次的时间可不好控制,如果用Timer,如果机子性能不好,会变得很慢 
    用什么协议远程连接的?TCP/IP?还是简单的局域网?
    前者得用sock,后者只用FileCopy 就行
      

  3.   

    只知道Ip的话,就用Winsock1控件吧,或者用API写,不过太麻烦,给一段VC
    的小程序段参考
    if(m_hSocket!=NULL){
    closesocket(m_hSocket);
    m_hSocket=NULL;
    }
    if(m_hSocket==NULL){
    m_hSocket=socket(AF_INET,SOCK_STREAM,0);
    ASSERT(m_hSocket!=NULL);
    }
    m_nPort=8080;
    UpdateData();
    m_addr.sin_family=AF_INET;
    m_addr.sin_addr.S_un.S_addr=inet_addr(m_strServer.GetBuffer(0));
    m_addr.sin_port=htons(m_nPort);
    int ret=0;
    int error=0;
    ret=connect(m_hSocket,(LPSOCKADDR)&m_addr,sizeof(m_addr));
    //ret=connect(m_hSocket,(const sockaddr*)&m_addr,sizeof(m_addr));
    if (ret==SOCKET_ERROR){
    TRACE("Connect Error:%d\n",(error=WSAGetLastError()));
    if(error==10061)
    AfxMessageBox(_T("请确认服务器确实已经打开并工作在同样的端口!"));
    else if(error!=0){
    AfxMessageBox(_T("连接失败"));
    }
    return ;
    }
    CString str;
    str+=char(m_strUser.GetLength());
    str+=m_strUser;
    str+=char(m_strPass.GetLength());
    str+=m_strPass;
    char* buf =str.GetBuffer(0);
    ret=send(m_hSocket,buf,str.GetLength(),0);
    if(ret!=str.GetLength()){
    TRACE("Send dataerror:%d\n",WSAGetLastError());
    return;
    }
    char buff[256];
    buff[0]='\0';
    ret=recv(m_hSocket,buff,256,0);
    if(ret==0||ret==-1){
    TRACE("Recvdata error:%d\n",WSAGetLastError());
    return ;
    }
    buff[ret]='\0';
    AfxMessageBox(buff);
    服务端客户端都要写
    WinSock控件引用部件Microsoft Winsock Control 6.0,具体用法
    看下MSDN查winsock 控件,写得很明白
    思路是把文件内容加密用它传过去