procedure TForm1.EmbeddedWB1NewWindow2(ASender: TObject; var ppDisp: IDispatch;
var Cancel: WordBool);
var
url,ts: string;
NewWindow:TForm1;
// ovURL: OleVariant;
// var doc:IHtmlDocument2;
begin
with TRegistry.Create do
try
rootkey := HKEY_CLASSES_ROOT;
OpenKey('\htmlfile\shell\open\command', False);
try
ts := ReadString('');
except
ts := '';
end;
CloseKey;
finally
Free;
end;
if ts = '' then Exit;
//if
// assigned(embeddedwb1.ControlInterface.Document)
// then embeddedwb1.ControlInterface.Document.QueryInterface(IHtmlDocument2,doc);
//NewWindow := TForm1.Create(parent);
//SetWindowLong(NewWindow.Handle, GWL_EXSTYLE, GetWindowLong(NewWindow.Handle, GWL_EXSTYLE) or WS_EX_APPWINDOW);
//NewWindow.Show;
//ppDisp:=NewWindow.EmbeddedWB1.DefaultDispatch; //самая правильный, появляется несколько значков браузера возможен их
выбор
//winexec (Pchar('C:\Program Files\Net\net.exe'), SW_SHOWNORMAL);
ts := Copy(ts, Pos('"', ts) + 1, Length(ts));
ts := Copy(ts, 1, Pos('"', ts) - 1);
ShellExecute(3, 'open', PChar('ppDisp:=NewWindow.EmbeddedWB1.DefaultDispatch'), PChar(url), nil, SW_SHOW);
// ShellExecute( handle, 'net', PChar('C:\Program Files\Net\net.exe'), PChar(url), nil, SW_SHOW);
//ppDisp := Self.EmbeddedWB1.Application;
end;
перебрал несколько вариантов что то неполучается в событие EmbeddedWB1NewWindow2(ASender: TObject; var ppDisp: IDispatch; получается надо подставить код с запуском копии и подстановкой урла. был запуск когда копия запускалась и открывала ссылку, но и запуск ехплорера происходил.