科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件利用VB驱动pcAnyWhere进行自动文件传输

利用VB驱动pcAnyWhere进行自动文件传输

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

pcAnywhere使你能够远程控制PC机,如同使用当前计算机一样的工具。它支持多种连接方式: IP连接,MODEM连接,串口电缆直接连接

作者:佚名 来源:天极论坛 2007年10月15日

关键字: VB PcAnyWhere 传输

  • 评论
  • 分享微博
  • 分享邮件
pcAnywhere使你能够远程控制PC机,如同使用当前计算机一样的工具。它支持多种连接方式: IP连接,MODEM连接,串口电缆直接连接。除了操作外,它还可以进行文件传输、计算机同步等功能。它是计算机远程控制的王中之王。

  PCAnyWhere的使用非常简单,它的使用方法在网上有非常详细的介绍,我就不再多说,我介绍一下利用VB驱动PCAnyWhere的方法。

  在我的一个项目中有特别的应用,有五个处于不同地方的计算机,有实时数据采集文件,我需要定时拔号上去,将上面的数据文件下载下来,这些数据文件随时间的不同就有不同,所以没有办法做固定的自动文件传输,为此我分别研究了软件提供script与OLE白皮书,最终决定选用OLE。

  一、利用OLE进行远程连接

  在OLE白皮书上,将OLE驱动写得十分明白,我只要将我的连接代码帖上来,应该十分明白。

  1、 检查MODEM是否在使用,由于PCAnyWhere启动后不能再由程序控制,我们必须检查MODEM是否是空闲才能确保拔号可以顺利外拔。检查MODEM空闲可能通过打开MODEM所在的串口是否成功来判断。

  2、 生成RemoteDataManager对象

  3、 进入C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere,由于 PCAnyWhere安装时将配置文件都放在这个目录下,我们将运行路径切换到这个目录下,可以更方便地使用。

  4、 生成RemoteData对象,这要求在配置文件路径下有对应CHF文件上,这是在PCAnyWhere中配置的,只要名称与连接方式相同就可以了。

  5、 设置拔号的电话号码,设置登录的用户名与密码,设置进行自动传输的ATF文件,并将RunOnConnect设为TRUE,并将这此配置的修改进行保存。

  6、 开始拔号并自动传输文件。

  7、 延时,判断MODEM是否空闲,空闲则这一次拔号、文件传输完毕(也有可能失败)。判断已下载的文件,如果修改时间已更新,则这次是成功的。否则是失败的。

  8、 将RemoteData、RemoteDataManager对象释放。

  9、 拔下一个点。

If checkMODEMIdle Then

showBegin '显示开始信息

'Create CRemoteDataManager object

Set RemoteDataManager = CreateObject("WINAWSVR.RemoteDataManager")

RemoteDataManager.ChangeDirectory "C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere"

S = RemoteDataManager.CurrentDirectory()

CHFile = xProfile.GetValue(WatchPoint(nowRunID), "CHFFILE") '用于拔号的配置

Set RemoteData = RemoteDataManager.RetrieveObject(CHFile, 2, 0)

RemoteData.PhoneNumber = xProfile.GetValue(WatchPoint(nowRunID), "PHONENUM")

RemoteData.AutoXferFile = filename

RemoteData.AutoLoginName = xProfile.GetValue(WatchPoint(nowRunID), "USERNAME")

RemoteData.AutoLoginPassword = xProfile.GetValue(WatchPoint(nowRunID), "PSW")

RemoteData.RunOnConnect = True

RemoteData.WriteObject (0)

S = RemoteData.PhoneNumber

RemoteData.Launch

Sleep 30000

Do

If checkMODEMIdle Then Exit Do

DoEvents

Sleep 5000

Loop

'取文件结束,要进行转存处理

moveDBFData localpath

Set RemoteData = Nothing

Set RemoteDataManager = Nothing

nowRunID = nowRunID + 1

End If

  注意:一次完毕后必须将RemoteData、RemoteDataManager对象释放,不然会出现错乱的现象。

  好了,拔号自动文件传输已经实现了,但这个文件传输是在PCANYWHERE中配置好的不变的自动文件传输,不能实现我要的根据时间不同下载不同文件的要求。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章