ehom(?!)所写的方法就可以了。 不对,IE也是多窗口浏览器,如果不是点图标再打开一个IE,所有窗口在同一进程procedure TForm1.WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool); begin Form1:=TForm1.Create(Application); Form1.Show; ppDisp:=Form1.WebBrowser1.ControlInterface; end;试试,这就可以了~~~
不对,IE也是多窗口浏览器,如果不是点图标再打开一个IE,所有窗口在同一进程procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
begin
Form1:=TForm1.Create(Application);
Form1.Show;
ppDisp:=Form1.WebBrowser1.ControlInterface;
end;试试,这就可以了~~~
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.WndParent := GetDesktopWindow;
end;
protected
procedure CreateParams(var Params: TCreateParams); override;
...当然这种方法关闭了主窗口后程序就退出了。
pchar(s)
string(p)
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.WndParent := GetDesktopWindow;
end;程序一启动就任务栏会打开2个进程
procedure TForm1.FormCreate(Sender: TObject);
begin
SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
end;