2013-10-18 1 views
0

delphi를 사용하여 이미 존재하는 활성 오페라/IE/FF 탭에서 URL을 열고 싶습니다. Delphi DDE 활성 탭에서 URL 열기

내가 시도 : HW는 웹 브라우저 URL의 핸들이

ShellExecute(hw,'open',pchar(url),nil,nil,SW_SHOWNORMAL); 

내가 열려면 URL을 문자열 변수이지만, 새 탭 대신 활성 탭을 사용하여 열립니다. buttonclick 절차에

procedure SetURL(Browser, URL: String); 
var 
    Client_DDE: TDDEClientConv; 
begin 
    Client_DDE := TDdeClientConv.Create(nil); 
    with Client_DDE do 
    begin 
    SetLink(Browser, 'WWW_Activate'); 
    RequestData('0xFFFFFFFF'); 
    SetLink(Browser, 'WWW_OpenURL'); 
    RequestData(URL); 
    CloseLink; 
    end; 
    Client_DDE.Free; 
end; 

그리고 SetURL('Opera', url);을뿐만 아니라 새 탭에서 URL을 엽니 다

는 또한 시도했다. SetURL 프로 시저에서 RequestData(URL + ',-1');을 사용하면 새 창에 url이 열립니다. 이미 존재하는 브라우저 탭에서 URL을 여는 방법에 대한 아이디어가 있습니까?

나는 델파이 7이 있습니다.

+1

[동일한 브라우저 탭에서 링크 열기] (http://stackoverflow.com/questions/11087969/open-link-in-same-browser-tab). DDE는 호스팅 응용 프로그램이 특별히 명령에 응답하도록 작성된 경우에만 작동하며 모든 브라우저가 DDE를 지원할 가능성은 거의 없으며 (특히 MS 기술이므로) 특히 그 중 일부는 ' WWW_' 명령을 사용합니다. 너는 틀린 나무를 여기에서 모든 계산에 짖고있다. :-) –

답변

0

불행히도, 그것은 불가능합니다. 비슷한 질문을보세요 : Open link in same browser tab

+0

나는 그 주제를 읽었는데, 지금 나는 ShellExecute와 SetUrl에 의해 그것을 할 수 없다는 것을 알고있다. 그러나 다른 방법이 있는가? 스탠리, "OLE 자동화"에 대해 뭔가 썼습니다. 제발, 제게 코드 샘플을 주거나 "OLE 자동화"에 대한 정보에 링크 할 수 있습니까? –

+0

AFAIK 만 Internet Explorer가 OLE 자동 인증을 지원합니다. 나는 그런 식으로 IE를 사용한 적이 없으므로이 이상으로 당신을 도울 수는 없습니다. 가장 좋은 방법은 웹에서 "Internet Explorer OLE 자동화"를 검색하는 것입니다. –

+0

Opera와 같은 다른 웹 브라우저는 어떻습니까? –