200分就够了
webBrowserNewWindow2可以做到.
程序可以参见
http://61.132.118.185:8080/dispdocnew.php?t=&id=1732
以下是我程序的一段代码
procedure TFrmMain.WebBrowserNewWindow2(Sender: TObject;
var ppDisp: IDispatch
var Cancel: WordBool);
var
ObjId: string;
len, i: integer;
begin
if WebBrowser.Document <> nil then
begin
len :=WebBrowser.OleObject.Document.links.Length;
{ if len=0 then //flash的目录跳转
begin
cancel:=true;
webBrowser.Navigate(appPath+'resource/index_1.htm')
exit;
end;
}//这段代码是我控制flash跳转问题的
ObjId :=WebBrowser.OleObject.Document.links.item(i,varEmpty).ID;
if ObjId='' then begin
cancel:=true;
webBrowser.Navigate(sNewUrl);
end else begin
for i:=0 to len-1 do
begin
ObjId :=WebBrowser.OleObject.Document.links.item(i,varEmpty).ID;
// showMessage(LowerCase(ObjId)+' ??? '+LowerCase(sNewUrl));
if LowerCase(ObjId)=LowerCase(_RightStr(sNewUrl,length(ObjId)-1)+'/') then
begin
Cancel :=True;
[red]if LowerCase(ObjId)=LowerCase('执行程序.htm/') then [/red]
//接口,把网页一个连接写成'执行程序.htm/'形式即可,target='_blank'
//按钮的话把让form提交到'执行程序.htm/'即可
begin
Button----------1.onclick(self);
//这里就是你需要执行的程序
end;
if LowerCase(ObjId)=LowerCase('options.htm/') then //&Eacute;è&Ouml;&Atilde;
begin
N15CLICK(SELF);
end;
end;
end;
end;
end;
end;