打印本文 打印本文 关闭窗口 关闭窗口
用VB6写简单程序 让电骡自动关机
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1717  更新时间:2009/4/23 19:02:02  文章录入:mintao  责任编辑:mintao
 作者:李赫元


 电骡(Emule)是国内最流行的P2P软件之一,他强大的功能让每位用户都能分享到互联网的优质资源。然而,主流的电骡软件中,一直没有类似于“完成任务后自动断网/关机”的选项。于是,很多朋友想尽办法让电骡下载完后自动断线、关机,却往往以失败告终。其实,我们可以写一个简单的VB程序来实现这个功能。

  一、目的分析与实现原理

  当所有下载任务都完成时,电骡的Temp文件夹为空(大小为0)。在VB中用FSO(FileSystemObject)来监视该文件夹大小是否为零,即可得知电骡的所有任务是否下载完。(注:使用FSO需要在工程-引用中添加“Microsoft Scripting Runtime”)

  在Emule程序文件夹下面有一个“downloads.txt”文件,电骡每添加一个文件,就会在downloads.txt的结尾写上一行数据,当文件下载完成后,对应的数据行会被删去,利用这一点,我们可以对某个文件是否下载完毕进行监控,通过对这行数据中的eD2K链接进行字符操作,可以获得当前正在下载的文件信息。

  VB6中借助Windows Xp的Shutdown命令,可以绕开API轻松实现关机、重启、注销等任务。同时VB6辅以Windows Xp的ntsd命令,可以实现关闭电骡。

  二、界面设制

  用ListBox列举正在下载任务供用户选择,两个Timer分别定时检查单个和全部任务是否完成,Enabled设置为False,Interval设置为5000或更高。Option选项卡供用户选择电骡下载完毕后执行什么操作。设计好的界面如图1


图1


  三、编码

  篇幅限制,这里只给出部分代码,完整的源代码及详细注解到这里下载

  程序行:

  Dim fso As New FileSystemObject

  Private Sub Command2_Click() '点击按钮开始监视全部任务是否完成

  timerall.Enabled = True '启动监视全部文件的Timer控件

  End Sub

打印本文 打印本文 关闭窗口 关闭窗口