단 아래와 같이 하면 IE가 뜬다.
usesComObj;
procedureTForm1.Button1Click(Sender: TObject);
var
IE: OleVariant;
begin
try
IE:=CreateOleObject('Internetexplorer.Application');
// 위치, 크기
IE.Left:=0;
IE.Top :=0;
IE.Width :=500;
IE.Height:=400;
// IE 윈도우 상태
IE.Toolbar :=False;
IE.Statusbar:=False;
IE.Menubar :=False;
// 띄우기
IE.Visible:=True;
SetForegroundWindow(IE.HWND);
IE.Navigate('http://www.naver.com');
finally
IE:=Unassigned;
end;
end;
IE를 띄우는데 먼저 띄운 IE가 있다면 그 IE를 최상위로 올리고,
만약 먼저 띄운 IE가 꺼지고 없다면 새로 띄우려면 아래처럼 하면 됨.
uses
ComObj;
const
NOT_EXISTS = 0;
EXISTS =1;
var
IE_HWND: HWND;
// 윈도우를 모조리 뒤져서 먼저 띄운 IE가 있는지 체크
functionEnumWindowsProc(hwnd: HWND; varlParam: DWORD): Boolean; stdcall;
begin
// 먼저 띄운 IE가 아니라면 없다고 하고 계속 뒤짐
if hwnd<>IE_HWND then begin
lParam:=NOT_EXISTS;
Result:=True;
end
// 먼저 띄운 IE가 있다면 있다고 하고 뒤지기 중지
else begin
lParam:=EXISTS;
Result:=False;
end;
end;
procedureTForm1.Button1Click(Sender: TObject);
var
IE : OleVariant;
IE_Exists: DWORD;
begin
// IE를 띄운적이 있으면
ifIE_HWND<>0then begin
// 그 IE가 아직 떠있는지 검사해서
EnumWindows(@EnumWindowsProc, DWORD(@IE_Exists));
// 떠있다면 최상위로 올려줌
ifIE_Exists=EXISTS then begin
SetForegroundWindow(IE_HWND);
Exit;
end;
end;
try
IE:=CreateOleObject('Internetexplorer.Application');
// 위치, 크기
IE.Left:=0;
IE.Top :=0;
IE.Width :=500;
IE.Height:=400;
// IE 윈도우 상태
IE.Toolbar :=False;
IE.Statusbar:=False;
IE.Menubar :=False;
// 띄우기
IE.Visible:=True;
SetForegroundWindow(IE.HWND);
// 띄우는 IE의 핸들을 저장
IE_HWND:=IE.HWND;
IE.Navigate('http://www.naver.com');
finally
IE:=Unassigned;
end;
end;
[출처] IE 띄우기|작성자 쿠핑
cnfcJ :
'Delphi, RadStudio' 카테고리의 다른 글
[개발/delphi] 중복 실행 방지 (0) | 2011.09.01 |
---|---|
[개발/delphi] 절대 죽지 않는 프로그램 만들기 (0) | 2011.08.01 |
[개발/delphi] Vista에서 프로그램 권한상승하기 (0) | 2011.08.01 |
[delphi] 델파이에서 XML DOM사용 (간단한 팁) (0) | 2010.09.16 |
[개발/Delphi] 사용중인 dll 파일의 덮어씌우기 ( 펌 ) (0) | 2010.08.09 |
댓글