보통 URL로 링크를 걸어줄때...
ShellExecute(handle, 'open', 'http://www.delphi.co.kr', nil,nil,SW_SHOWNORMAL);
이렇게 하면 저 사이트 브라우저가 뜨지만..
기존에 브라우저가 떠잇는 상태라면 그 브라우저의 주소가 저것으로
바뀜니다...
그러면 보고있던 웹이 업어지니깐... 여간 불편한게 아님니다..
실행할때마다 새로운 브라우저 창이 하나 뜨고 주소도 지정된 것으로
바뀌게 하려면 어떻게 해야 할까요??...
> 보통 URL로 링크를 걸어줄때...
>
> ShellExecute(handle, 'open', 'http://www.delphi.co.kr', nil,nil,SW_SHOWNORMAL);
>
> 이렇게 하면 저 사이트 브라우저가 뜨지만..
> 기존에 브라우저가 떠잇는 상태라면 그 브라우저의 주소가 저것으로
> 바뀜니다...
> 그러면 보고있던 웹이 업어지니깐... 여간 불편한게 아님니다..
>
> 실행할때마다 새로운 브라우저 창이 하나 뜨고 주소도 지정된 것으로
> 바뀌게 하려면 어떻게 해야 할까요??...
>
안녕하세요? 구창민입니다.
아래 함수를 사용해보세요.
원하시는 결과가 될겁니다.
먼저 uses 에 ComObj 추가하세요.
그럼, 즐거운 프로그래밍 되시길~
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Comobj;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure OpenInternetExplorer( sURL : string );
const
csOLEObjName = 'InternetExplorer.Application';
var
IE : Variant;
WinHanlde : HWnd;
begin
if( VarIsEmpty( IE ) )then
begin
IE := CreateOleObject( csOLEObjName );
IE.Visible := true;
IE.Navigate( sURL );
end else
begin
WinHanlde := FindWIndow( 'IEFrame', nil );
if( 0 <> WinHanlde )then
begin
IE.Navigate( sURL );
SetForegroundWindow( WinHanlde );
end else
begin
// handle error ...
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
//지금은 비록 게시판을 사용할 수 없지만..
//언젠가는 다시 부활할.. 델파이 헬퍼 사이트 열기..
OpenInternetExplorer('http://www.shinbiro.com/~jekcm');
end;
end.