關於控制 pcanywhere 傳輸檔案的議題 |
尚未結案
|
digitraveler
初階會員 發表:89 回覆:91 積分:46 註冊:2005-06-01 發送簡訊給我 |
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Comobj; var Form1: TForm1; PCAWREM32: Variant; procedure TForm1.Button1Click(Sender: TObject); begin PCAWREM32 := CreateOleObject('Awrem32.Application'); PCAWREM32.awConnect('C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\TEST.CHF'); //註一 IF (PCAWREM32.ConnectionStatus=1) THEN PCAWREM32.FileXferFromHost('C:\test.txt', 'C:\test.txt'); PCAWREM32.awDisconnect; end; 註一 1.TEST.CHF 是確定可以從 PCANYWHERE 連到遠方的設定檔 , 在桌面點兩下 TEST.CHF 捷徑 , 可以 PCANYWHERE 開啟遠方搖控 2.在程式中呼叫 TEST.CHF 都有 看到 PCANYWHERE 通訊視窗被叫起 , 但十幾秒後都是連線失敗 , 出現 "無法附加通訊裝置到你的連線" 3.網路找到的 VB 範例都說這樣就 OK , 但 DELPHI 中是否少了什麼程式碼 ?? (以上程式碼可編譯成功並可執行 PROJECT1.EXE , 但就是連線不起來) 4.PCANYWHERE 10.5 DELPHI 7 環境下 5.請有做過相關連線範例的長官給予指導,感謝 編輯記錄
digitraveler 重新編輯於 2008-08-16 19:42:28, 註解 無‧
|
pceyes
尊榮會員 發表:70 回覆:657 積分:1140 註冊:2003-03-13 發送簡訊給我 |
See This
pcANYWHERE OLE code for VB http://209.85.175.104/search?q=cache:TToJCF_Jo0oJ:www.tek-tips.com/viewthread.cfm?qid=169229&page=4 delphi 'Awrem32.Application'&hl=zh-TW&ct=clnk&cd=3&gl=tw [code delphi] procedure TForm1.Button1Click(Sender: TObject); var bResult : boolean; begin PCAWREM32 := CreateOleObject('Awrem32.Application'); bResult:=PCAWREM32.awConnect('C:\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\TEST.CHF'); IF bResult THEN showmessage('Connection Ok') Else showmessage('Connection failed'); bResult:=PCAWREM32.FileXferFromHost('C:\test.txt', 'C:\test.txt'); IF bResult THEN showmessage('Transfer from host successful') Else showmessage('Transfer from host not successful'); PCAWREM32.awDisconnect; PCAWREM32 := Nothing; end; [/code]
------
努力會更接近成功 |
digitraveler
初階會員 發表:89 回覆:91 積分:46 註冊:2005-06-01 發送簡訊給我 |
非常感謝
不過小弟的問題是連不上遠端,而非如何呼叫 pcanywhere OLE 小弟已註明 , 程式可執行 , 也有帶起了 PCANYWHERE 連線畫面 => DELPHI 呼叫 PCANYWHERE OLE 的語法沒問題 但問題是連不起來 , 事實上小弟參考的也是這支 VB 程式
編輯記錄
digitraveler 重新編輯於 2008-08-18 14:48:59, 註解 無‧
digitraveler 重新編輯於 2008-08-18 14:57:41, 註解 無‧ digitraveler 重新編輯於 2008-08-18 14:59:11, 註解 無‧ |
digitraveler
初階會員 發表:89 回覆:91 積分:46 註冊:2005-06-01 發送簡訊給我 |
測試中發現 , 若客戶端(被遙控端)使用 DEFAULT 的通訊 PORT 5631/5632 , 以上程式碼是可以成功連線跟成功傳檔的
但客戶端(被遙控端)使用自訂的通訊 PORT (如 5635/5636) , 就會造成程式無法連線 ; 當然 TECH.CHF 檔中已設定客戶端所使用的 PORT 後來查到 , 有人遇到相同的問題 , 可能是 BUG https://forums.symantec.com/syment/board/message?board.id=107&thread.id=1053 簡述問題點如下 1.原先沒講清楚 , 被控端是客戶的電腦 , 但因網路安全問題 , 客戶將 PCANYWHERE 通訊PORT 由 DEFAULT 的 5631/5632 改成 5635/5636 2.我在我電腦設一主控端 TEST.CHF , 除了指定客戶 IP 外當然也要設通訊 PORT 為客戶的 5635/5636 3.用滑鼠點兩下 TEST.CHF 是連線 OK 的 => TEST.CHF 沒問題 4.由我程式呼叫 awConnect(TEST.CHF) , 可開啟 PCANYWHERE 連線動作對話框 , 但無法連線 5.後來把客戶端通訊 PORT 改回 DEFAULT 值 5631/5632 , 我的程式就連線成功 , 所以問題不在我程式呼叫 OLE 的方法 , 而是程式無法取出 TEST.CHF 中客戶通訊 PORT 的設定資訊 6.也就是可能 OLE 提供的 awConnect() 有 bug , 無法取出 *.CHF 檔中的 PORT 設定資訊 , 而是一律使用 DEFAULT 的通訊 PORT 5631/5632
編輯記錄
digitraveler 重新編輯於 2008-08-18 14:56:46, 註解 無‧
|
digitraveler
初階會員 發表:89 回覆:91 積分:46 註冊:2005-06-01 發送簡訊給我 |
山不轉路轉
我試著騙 PcAnyWhere , 你的 DEFAULT PORT 是 5635/5636 => 為了跟客戶端(被遙控端) 一樣 但我改了我電腦(主控端)註冊資訊如下 HKEY_LOCAL_MACHINE\SOFTWARE\Symantec\pcANYWHERE\CurrentVersion\System TCPIPDataPort = 0x00001603(5635) TCPIPStatusPort = 0x00001604(5636) TCPIPPortCompatibility = 0x00000001(1) => 0 或 1 都試過了,一樣無效 =>還是無效 PcAnyWhere 還是認定 DEFAULT PORT 為 5631/5632
編輯記錄
digitraveler 重新編輯於 2008-08-18 15:35:14, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |