41 75 74 6F 58 66 65 72 5F 43 6F 6D 6D 61 6E 64 AutoXfer_Command
01 13 45 3A 5C 55 53 42 42 41 4B 5C 32 30 30 33 第一位是傳輸方式:00 發(fā)到主機(jī)01從主機(jī)接收 02同步 第二位是本地文件路徑長度 ,后面的是本地文件路徑
31 2E 64 62 66 14 44 3A 5C 71 74 64 61 74 61 31 注釋:第六個主機(jī)文件路徑長度, 后面的是主機(jī)文件路徑
5C 32 30 30 33 31 2E 64 62 66
有了文件的組成格式,生成這么一個文件就不在話下了。只要用二進(jìn)制方式生成這個文件,就一切OK了。
Public Sub makeATFFile(ByVal localpath As String, ByVal remotepath As String, ByVal filename As String)
Dim tx() As Byte
Dim ii As Integer
Dim len1, len2 As Integer
len1 = Len(localpath)
len2 = Len(remotepath)
ReDim tx(0 To 48 + len1 + len2 + 2)
注釋:04 40 41 54 46 01 00 01 01 00 01 01 01 01 00 01 注釋:第八位:00表示增量,01自然
注釋:00 00 00 00 00 00 00 01 00 FF FF 00 00 11 00 43 C
注釋:41 75 74 6F 58 66 65 72 5F 43 6F 6D 6D 61 6E 64 AutoXfer_Command
注釋:01 13 45 3A 5C 55 53 42 42 41 4B 5C 32 30 30 33 第一位是傳輸方式:00 發(fā)到主機(jī)01從主 機(jī)接收 02同步 第二位是本地文件路徑長度
注釋:31 2E 64 62 66 14 44 3A 5C 71 74 64 61 74 61 31 注釋:第六個主機(jī)文件路徑長度
注釋:5C 32 30 30 33 31 2E 64 62 66
tx(0) = &H4
tx(1) = &H40
tx(2) = &H41
tx(3) = &H54
tx(4) = &H46
tx(5) = &H1
tx(6) = &H0
tx(7) = &H1
tx(8) = &H1
tx(9) = &H0
tx(10) = &H1
tx(11) = &H1
tx(12) = &H1
tx(13) = &H1
tx(14) = &H0
tx(15) = &H1
tx(16) = &H0
tx(17) = &H0
tx(18) = &H0
tx(19) = &H0
tx(20) = &H0
tx(21) = &H0
tx(22) = &H0
tx(23) = &H1
tx(24) = &H0
tx(25) = &HFF
tx(26) = &HFF
tx(27) = &H0
tx(28) = &H0
tx(29) = &H11
tx(30) = &H0
tx(31) = &H43
注釋:41 75 74 6F 58 66 65 72 5F 43 6F 6D 6D 61 6E 64 AutoXfer_Command
tx(32) = &H41
tx(33) = &H75
tx(34) = &H74
tx(35) = &H6F
tx(36) = &H58
tx(37) = &H66
tx(38) = &H65
tx(39) = &H72
tx(40) = &H5F
tx(41) = &H43
tx(42) = &H6F
tx(43) = &H6D
tx(44) = &H6D
tx(45) = &H61
tx(46) = &H6E
tx(47) = &H64
注釋:01 13 45 3A 5C 55 53 42 42 41 4B 5C 32 30 30 33 第一位是傳輸方式:00 發(fā)到主機(jī)01從主
tx(48) = &H1
tx(49) = len1
For ii = 1 To len1
tx(49 + ii) = Asc(Mid(localpath, ii, 1))
Next ii
tx(49 + len1 + 1) = len2
For ii = 1 To len2
tx(49 + ii + len1 + 1) = Asc(Mid(remotepath, ii, 1))
Next ii
注釋:二進(jìn)制文件打開
On Error Resume Next
Open filename For Binary As #1
For ii = 0 To 48 + len1 + len2 + 2
Put #1, , tx(ii)
Next ii
Close 1
End Sub
輸入本地文件路徑,主機(jī)文件路徑,ATF文件名,就可生成這么一個文件,再將RemoteData.AutoXferFile設(shè)成新生成的ATF文件,你就可以想傳什么就傳什么文件了,不過,有一點要注意:這兩個文件路徑都是必須存在的,不然會出錯。
結(jié)論:
利用VB驅(qū)動pcAnyWhere是一件非常簡單的事件,但不是很好,首先它無法完成由程序控制,還有是在拔號與文件傳輸時會出現(xiàn)操作界面,無法將其置為一個后臺程序,而人工的干預(yù)也過于容易,不過,在解決我當(dāng)前的問題方面,它是一個非常好的選擇。