線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1973
推到 Plurk!
推到 Facebook!

請問如何在 BHO 的 BeforeNavigate2 的事件程序中, 將 Headers 這個 OleVariant 參數轉成字串

尚未結案
jasper
一般會員


發表:2
回覆:3
積分:1
註冊:2005-08-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-10-14 10:53:39 IP:211.23.xxx.xxx 訂閱

Dear 各位高手:

----------------------------------------------------------------------
問題描述:
小弟最近利用 Delphi 在撰寫一個 IE plug-in, 目的在於取得 Http Request Header 的內容後, 再加上自行定義的 Header, 這樣 Web Application (用 ASP.NET 開發) 就可以很簡單地判斷我的 IE plug-in 是否被安裝及是否仍在執行中, 如果沒有, 就導到錯誤網頁.

但發現似乎只有 URL 參數可以被轉成字串; 不知應如何將 Headers 這個 OleVariant 參數轉成字串? 並且將轉換的字串, 加上自訂的 Header (ex: register-code: 123456) 後, 再轉成 OleVariant

----------------------------------------------------------------------
參考網頁:
有參考以下網頁, 但仍不得解決之法, 還望各位高手相助, 謝謝.

http://delphi.ktop.com.tw/board.php?cid=30&fid=72&tid=55467
利用DELPHI編寫IE擴展

http://www.javaeye.com/topic/470526
Delphi 编写BHO在HTTP头增加自定义属性

----------------------------------------------------------------------
程式碼:
程式碼摘要如下:


[code delphi]

procedure TIEGUIC.DoBeforeNavigate2(const pDisp: IDispatch; var URL,
Flags, TargetFrameName, PostData, Headers: OleVariant;
var Cancel: WordBool);
const
FuncName = '[TIEGUIC.DoBeforeNavigate2]';
var
strURL,
strTargetFrameName,
strOldHeaders,
strInfo:string;
bCancel:Boolean;

strMyHeader:string;
strOldHeaders, strNewHeaders:string;
oleNewHeaders:OleVairant;

begin

//保留將 OleVariant 轉為 字串的方式, 以供除錯之用;
//但發現只有 URL 變數可以轉換成功, 其它轉換後, 都是空字串.
strURL:=VarToStr(URL);
strTargetFrameName:=VarToStr(TargetFrameName);
strOldHeaders:=VarToStr(Headers);
bCancel:=Cancel;
strInfo:=format('%sURL:%s TargetFrameName:%s OldHeaders:%s bCancel:%s',
[FuncName,strUrl,strTargetFrameName,strOldHeaders,BoolToStr(bCancel,True)]);
CodeSite.SendMsg(strInfo);

strMyHeader:='register-code: 123456';
strNewHeaders:=strOldHeaders #13#10 strMyHeader #13#10;
oleNewHeaders:=strNewHeaders;

(pDisp as IWebbrowser2).Navigate2(URL, Flags, TargetFrameName, PostData, oleNewHeaders, Cancel);

end;

[/code]


備註: 我是剛入門的新手, 請大家多多指教


編輯記錄
jasper 重新編輯於 2009-10-14 10:58:30, 註解 無‧
系統時間:2024-04-20 3:24:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!