我想 隐藏窗体 调用 webbrowser1 访问网页 点击
unit Unit1;interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, SHDocVw, ExtCtrls,ActiveX;type
TForm1 = class(TForm)
WebBrowser1: TWebBrowser;
Timer1: TTimer;
WebBrowser2: TWebBrowser;
Timer2: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch;
var Cancel: WordBool);
procedure WebBrowser2BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
procedure FormCreate(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}
procedure ieclick() ;
var webhd:hwnd;
begin
webhd:=GetWindow(GetWindow(form1.WebBrowser1.Handle, GW_CHILD), GW_CHILD);
if webhd<>0 then begin
SendMessage(webhd,WM_LBUTTONDOWN,
MK_LBUTTON, MAKELONG(354,62));
SendMessage(webhd,WM_LBUTTONUP,
MK_LBUTTON, MAKELONG(354,62));
end
else
showmessage('no hwnd') ;
end;procedure TForm1.Timer1Timer(Sender: TObject);
begin
webbrowser1.Navigate('www.baidu.com');
timer1.Enabled:=false;
timer2.Enabled:=true;
end;procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
begin
ppDisp:=WebBrowser2.Application;
end;procedure TForm1.WebBrowser2BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
WebBrowser1.Navigate(URL);
Cancel:=True;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
//form1.Visible:=false;
timer2.Enabled:=false;end;procedure TForm1.Timer2Timer(Sender: TObject);
var
hThread:Thandle;//定义一个句柄
ThreadID:DWord;
webhwnd:hwnd;
begin
hthread:=CreateThread(nil,0,@ieclick,nil,0,ThreadID);
if hThread=0 then
messagebox(Handle,'Didn’tCreateaThread',nil,MB_OK);
timer2.Enabled:=false;
end;end.我在 工程文件中program Project1;uses
Forms,
Unit1 in 'Unit1.pas' {Form1};begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.ShowMainForm:=false;
Application.Run;
end.
--------
窗体隐藏
可是调试的过程中 提示错误
尚未调用coinitialize
程序空间未初始化 求解
unit Unit1;interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, SHDocVw, ExtCtrls,ActiveX;type
TForm1 = class(TForm)
WebBrowser1: TWebBrowser;
Timer1: TTimer;
WebBrowser2: TWebBrowser;
Timer2: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch;
var Cancel: WordBool);
procedure WebBrowser2BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
procedure FormCreate(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}
procedure ieclick() ;
var webhd:hwnd;
begin
webhd:=GetWindow(GetWindow(form1.WebBrowser1.Handle, GW_CHILD), GW_CHILD);
if webhd<>0 then begin
SendMessage(webhd,WM_LBUTTONDOWN,
MK_LBUTTON, MAKELONG(354,62));
SendMessage(webhd,WM_LBUTTONUP,
MK_LBUTTON, MAKELONG(354,62));
end
else
showmessage('no hwnd') ;
end;procedure TForm1.Timer1Timer(Sender: TObject);
begin
webbrowser1.Navigate('www.baidu.com');
timer1.Enabled:=false;
timer2.Enabled:=true;
end;procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
begin
ppDisp:=WebBrowser2.Application;
end;procedure TForm1.WebBrowser2BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
WebBrowser1.Navigate(URL);
Cancel:=True;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
//form1.Visible:=false;
timer2.Enabled:=false;end;procedure TForm1.Timer2Timer(Sender: TObject);
var
hThread:Thandle;//定义一个句柄
ThreadID:DWord;
webhwnd:hwnd;
begin
hthread:=CreateThread(nil,0,@ieclick,nil,0,ThreadID);
if hThread=0 then
messagebox(Handle,'Didn’tCreateaThread',nil,MB_OK);
timer2.Enabled:=false;
end;end.我在 工程文件中program Project1;uses
Forms,
Unit1 in 'Unit1.pas' {Form1};begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.ShowMainForm:=false;
Application.Run;
end.
--------
窗体隐藏
可是调试的过程中 提示错误
尚未调用coinitialize
程序空间未初始化 求解
解决方案 »
- 数据直接存取
- IDFTP.Get 这个函数 如果文件正在下载中``怎么终止?
- DBChart 问题
- 为什么第二次执行OleContainer1.CreateObjectFromFile,就看不到文件了呢?
- 关于vclskin控件的问题,比较好的xp皮肤控件。就是有点小问题
- 怎样在程序里面向系统注册一个cab包或者dll?
- 急!!!一个WNetAddConnection2的问题
- DELPHI中的LISTVIEW数据查询
- 请两位斑竹和各位兄弟帮帮忙!关于DCOMConnection客户端的建立,续http://www.csdn.net/expert/topic/180/180851.shtm
- help!!help!!!!delphi存储过程调用
- 动态产生的一个label,可是运行之后怎么只出现一个,其他的都哪去了?????????????
- delphi窗体透明的问题
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, OleCtrls, SHDocVw;type
TForm1 = class(TForm)
WebBrowser1: TWebBrowser;
WebBrowser2: TWebBrowser;
Timer1: TTimer;
Timer2: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure WebBrowser2BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
procedure FormCreate(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch;
var Cancel: WordBool);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure ieclick() ;
var webhd:hwnd;
begin
webhd:=GetWindow(GetWindow(form1.WebBrowser1.Handle, GW_CHILD), GW_CHILD);
if webhd <>0 then begin
SendMessage(webhd,WM_LBUTTONDOWN,
MK_LBUTTON, MAKELONG(259,236));
SendMessage(webhd,WM_LBUTTONUP,
MK_LBUTTON, MAKELONG(259,236));
end
else
showmessage('no hwnd') ;
end; procedure TForm1.Timer1Timer(Sender: TObject);
begin
webbrowser1.Navigate('www.baidu.com');
timer1.Enabled:=false;
timer2.Enabled:=true;
end;
procedure TForm1.WebBrowser2BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
WebBrowser1.Navigate(URL);
Cancel:=True;
end; procedure TForm1.FormCreate(Sender: TObject);
var
dwStyle:DWORD;
begin
//form1.Visible:=false;
self.Top:=2000;
dwStyle:= WS_EX_TOOLWINDOW;
SetWindowLong(Application.Handle, GWL_EXSTYLE, dwStyle);
timer2.Enabled:=false; end; procedure TForm1.Timer2Timer(Sender: TObject);
var
hThread:Thandle;//定义一个句柄
ThreadID:DWord;
//webhwnd:hwnd;
begin
hthread:=CreateThread(nil,0,@ieclick,nil,0,ThreadID);
if hThread=0 then
messagebox(Handle,'Didn’tCreateaThread',nil,MB_OK);
timer2.Enabled:=false;
end;
procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
begin
ppDisp:=WebBrowser2.Application;
end;end.
变通一下 ,也是一样的
另外,web2并没有使用到
Application.ShowMainForm:=false; ???