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

傳網址給IE

答題得分者是:x3304
m510011
一般會員


發表:18
回覆:18
積分:7
註冊:2002-05-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-02-22 02:50:35 IP:218.163.xxx.xxx 未訂閱
請問各位先進 我已將IE開啟,但是每次Delphi程式被執行時需傳送不同網址給IE,1.如何得知IE已開啟,且將網址傳入IE重新更新,希望各位先進指教,謝謝
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-02-22 11:14:33 IP:218.163.xxx.xxx 未訂閱
//傳網址給IE網址列  
procedure TForm1.Button1Click(Sender: TObject);
var
  IE,toolbar,combo,comboboxex,edit,worker,toolbarwindow: HWND;
begin
  IE := FindWindow('IEFrame', nil);
  worker := FindWindowEx(IE,0,'WorkerW',nil);  //注意版本差異 (有些用WorkerA)
  toolbar := FindWindowEx(worker,0,'reBarwindow32',nil);
  comboboxex := FindWindowEx(toolbar, 0, 'comboboxex32', nil);
  combo := FindWindowEx(comboboxex,0,'ComboBox',nil);
  edit := FindWindowEx(combo,0,'Edit',nil);
  toolbarwindow := FindWindowEx(comboboxex, 0, 'toolbarwindow32', nil);      if IE <> 0 then
  begin
    SendMessage(edit , WM_SETTEXT, 0, Integer(PChar('http://delphi.ktop.com.tw')));
  end else
  ShowMessage('IE瀏覽器不存在');
end;
 
網海無涯,學無止境!
m510011
一般會員


發表:18
回覆:18
積分:7
註冊:2002-05-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-02-23 16:03:39 IP:61.66.xxx.xxx 未訂閱
謝謝您的答覆,我試了成功,不過是否傳送網址外,仍可自動開啟網頁,不知道如何做,謝謝
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-02-23 16:40:49 IP:218.163.xxx.xxx 未訂閱
引言: 謝謝您的答覆,我試了成功,不過是否傳送網址外,仍可自動開啟網頁,不知道如何做,謝謝
    //自動開啟網頁
uses Shellapi;
...
procedure TForm1.Button1Click(Sender: TObject);
begin
 ShellExecute(handle, PChar('open'), PChar('IEXPLORE.EXE'),pchar('http://delphi.ktop.com.tw/'),nil, SW_SHOW);
end;     
網海無涯,學無止境!
m510011
一般會員


發表:18
回覆:18
積分:7
註冊:2002-05-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-02-26 22:21:05 IP:218.163.xxx.xxx 未訂閱
謝謝您的指導,在使用此函式時,會出現閃動,而且多執行幾次會造成系統有些異常,是否由您第一次告知方式傳網址後,類似直接按Enter方式即可,謝謝您啦!
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-02-27 00:51:18 IP:218.163.xxx.xxx 未訂閱
引言: 謝謝您的指導,在使用此函式時,會出現閃動,而且多執行幾次會造成系統有些異常,是否由您第一次告知方式傳網址後,類似直接按Enter方式即可,謝謝您啦!
//試試看..合不合用    <>//讓滑鼠自己按的方式
> >>    < src="http://delphi.ktop.com.tw/download/upload\33223_qoo.gif">網海無涯,學無止境!
        
x3304
一般會員


發表:3
回覆:4
積分:6
註冊:2003-10-05

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-03-05 20:47:49 IP:211.74.xxx.xxx 未訂閱
引言: //傳網址給IE網址列
procedure TForm1.Button1Click(Sender: TObject);
var
  IE,toolbar,combo,comboboxex,edit,worker,toolbarwindow: HWND;
begin
  IE := FindWindow('IEFrame', nil);
  worker := FindWindowEx(IE,0,'WorkerW',nil);  //注意版本差異 (有些用WorkerA)
  toolbar := FindWindowEx(worker,0,'reBarwindow32',nil);
  comboboxex := FindWindowEx(toolbar, 0, 'comboboxex32', nil);
  combo := FindWindowEx(comboboxex,0,'ComboBox',nil);
  edit := FindWindowEx(combo,0,'Edit',nil);
  toolbarwindow := FindWindowEx(comboboxex, 0, 'toolbarwindow32', nil);      if IE <> 0 then
  begin
    SendMessage(edit , WM_SETTEXT, 0, Integer(PChar('http://delphi.ktop.com.tw')));
  end else
  ShowMessage('IE瀏覽器不存在');
end;
 
網海無涯,學無止境!
ㄝ.... 請問一下... 這幾句:
  IE := FindWindow('IEFrame', nil);
  worker := FindWindowEx(IE,0,'WorkerW',nil);
  toolbar := FindWindowEx(worker,0,'reBarwindow32',nil);
  comboboxex := FindWindowEx(toolbar, 0, 'comboboxex32', nil);
  combo := FindWindowEx(comboboxex,0,'ComboBox',nil);
  edit := FindWindowEx(combo,0,'Edit',nil);
  toolbarwindow := FindWindowEx(comboboxex, 0, 'toolbarwindow32', nil);     
其中像: IEFrame,WorkerW,reBarwindow32,comboboxex32,ComboBox,Edit 如果不是對IE的話,要怎麼得知這些東西?還有他們的順序?
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-03-05 20:59:14 IP:218.163.xxx.xxx 未訂閱
WinSight 幫你偵錯訊息:例如視窗的類別、訊息。    網海無涯,學無止境!
x3304
一般會員


發表:3
回覆:4
積分:6
註冊:2003-10-05

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-03-05 22:34:21 IP:211.74.xxx.xxx 未訂閱
Soga...    那把原本的code加上這兩句:     
  if IE <> 0 then
  begin
    SendMessage(edit , WM_SETTEXT, 0, Integer(PChar('http://delphi.ktop.com.tw')));

    SendMessage(toolbarwindow,WM_LBUTTONDOWN,0,0);
    SendMessage(toolbarwindow,WM_LBUTTONUP,0,0);      end else
 
這樣好像比較簡單一點...? (「移至」按鈕 = comboboxex32的toolbarwindow32 )
qoo1234
版主


發表:256
回覆:1167
積分:659
註冊:2003-02-24

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-03-05 23:27:39 IP:218.163.xxx.xxx 未訂閱
引言: Soga... 那把原本的code加上這兩句:
  if IE <> 0 then
  begin
    SendMessage(edit , WM_SETTEXT, 0, Integer(PChar('http://delphi.ktop.com.tw')));

    SendMessage(toolbarwindow,WM_LBUTTONDOWN,0,0);
    SendMessage(toolbarwindow,WM_LBUTTONUP,0,0);      end else
 
這樣好像比較簡單一點...? (「移至」按鈕 = comboboxex32的toolbarwindow32 )
厲害~你的方式可以喔! 我整理如下: < class="code"> procedure TForm1.Button1Click(Sender: TObject); var IE,toolbar,combo,comboboxex,edit,worker,toolbarwindow: HWND; begin IE := FindWindow('IEFrame', nil); worker := FindWindowEx(IE,0,'WorkerW',nil); toolbar := FindWindowEx(worker,0,'reBarwindow32',nil); comboboxex := FindWindowEx(toolbar, 0, 'comboboxex32', nil); combo := FindWindowEx(comboboxex,0,'ComboBox',nil); edit := FindWindowEx(combo,0,'Edit',nil); toolbarwindow := FindWindowEx(comboboxex, 0, 'toolbarwindow32', nil); if IE <> 0 then begin SendMessage(edit , WM_SETTEXT, 0, Integer(PChar('http://delphi.ktop.com.tw'))); SendMessage(toolbarwindow,WM_LBUTTONDOWN,0,0); SendMessage(toolbarwindow,WM_LBUTTONUP,0,0); end else ShowMessage('IE瀏覽器不存在'); end; 網海無涯,學無止境!
rexchiu
中階會員


發表:14
回覆:88
積分:70
註冊:2002-03-17

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-03-16 16:26:05 IP:61.56.xxx.xxx 未訂閱
引言:
引言: Soga... 那把原本的code加上這兩句:
  if IE <> 0 then
  begin
    SendMessage(edit , WM_SETTEXT, 0, Integer(PChar('http://delphi.ktop.com.tw')));

    SendMessage(toolbarwindow,WM_LBUTTONDOWN,0,0);
    SendMessage(toolbarwindow,WM_LBUTTONUP,0,0);      end else
 
這樣好像比較簡單一點...? (「移至」按鈕 = comboboxex32的toolbarwindow32 )
厲害~你的方式可以喔! 我整理如下: < class="code"> procedure TForm1.Button1Click(Sender: TObject); var IE,toolbar,combo,comboboxex,edit,worker,toolbarwindow: HWND; begin IE := FindWindow('IEFrame', nil); worker := FindWindowEx(IE,0,'WorkerW',nil); toolbar := FindWindowEx(worker,0,'reBarwindow32',nil); comboboxex := FindWindowEx(toolbar, 0, 'comboboxex32', nil); combo := FindWindowEx(comboboxex,0,'ComboBox',nil); edit := FindWindowEx(combo,0,'Edit',nil); toolbarwindow := FindWindowEx(comboboxex, 0, 'toolbarwindow32', nil); if IE <> 0 then begin SendMessage(edit , WM_SETTEXT, 0, Integer(PChar('http://delphi.ktop.com.tw'))); SendMessage(toolbarwindow,WM_LBUTTONDOWN,0,0); SendMessage(toolbarwindow,WM_LBUTTONUP,0,0); end else ShowMessage('IE瀏覽器不存在'); end; 網海無涯,學無止境!
請問: 1.如果要控制menu 呢?要怎麼弄? 例如:檔案(F)->新增->視窗? 2.又如何得知,已執行完畢? 承上例:如何知道新開的視窗已經開好了? 3.順便一問:在工作管理員中.我們可以知道開啟的 應用是不是還活著,狀態欄中,會顯示沒有回應. 不知道在程式中要如何去偵測.? Best Regards, Rex Chiu
------
Best Regards,
Rex Chiu
系統時間:2024-04-26 6:12:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!