안녕하세요...
여기 팁모아에서 본 내용으로..... 수정하여서.....
뒤로, 앞으로, 중지, 새로고침, 등등.... 맨뒤에 "GOTO" 버튼을 만들어
클릭하면 바로 갈수 있도록 하고 싶은데.. 안되는 군요...
소스를 올리니.. 한번 봐 주세요...
procedure TForm1.Btton1Click(Sender: TObject);
var
url, fname, CLSID, BandCLSID : string;
buf : integer;
begin
url := 'http://yahoo.co.kr';
fname := 'c:windowsGOTOURL.htm';
buf := 1;
MakeHtmlFile(url, fname);
//----- 바로가기 등록
MyReg := TRegistry.Create;
BandCLSID := '{CE315940-0891-898B-B197C5DE3B1D}';
CLSID := '{E0DD6CAB-2D10-11D2-8F1A-0000F87ABD16}';
MyReg.RootKey := HKEY_LOCAL_MACHINE;
if MyReg.OpenKey('SoftwareMicrosoftInternet Explorer',False) then
if not MyReg.KeyExists('Extensions') then
MyReg.CreateKey('Extensions');
if MyReg.OpenKey('SoftwareMicrosoftInternet ExplorerExtensions',False) then
if not MyReg.KeyExists(clsid) then
MyReg.CreateKey(clsid);
if MyReg.OpenKey('SoftwareMicrosoftInternet ExplorerExtensions'+clsid,False) then
begin
MyReg.WriteString('CLSID', clsid);
MyReg.WriteString('BandCLSID', BandCLSID);
MyReg.WriteString('Script', fname);
MyReg.WriteString('ButtonText', 'GOTO');
MyReg.WriteString('DefaultVisible', 'Yes');
MyReg.WriteString('Default Visible', 'Yes');
end;
MyReg.CloseKey;
end;
스크립트에 관한것은 저도 잘 모르는데 RealPlayer처럼 실행파일을 이용하거나 Microsoft
FrontPage 2000처럼 COM을 사용하는 방법도 있습니다. 저는 COM을 사용하시길 권하고 싶
네요. 실행파일에 비해 훨씬 융통성있게 익스플로러를 제어할 수 있으니까요.
IOleCommandTarget 인터페이스만 기본적으로 구현해주면 될것입니다. 즉 TComObject에서
파생한 클래스를 하나만들고 IOleCommandTarget인터페이스를 구현하여 레지스트리에 등록
해주면 됩니다. 한마디로 in-proc COM server를 만드세요.공부해보시면 그렇게 어렵지
않다는 것을 느끼실 것입니다.
^^ 항상 즐코하세요.
이수정 wrote:
> 안녕하세요...
>
> 여기 팁모아에서 본 내용으로..... 수정하여서.....
>
> 뒤로, 앞으로, 중지, 새로고침, 등등.... 맨뒤에 "GOTO" 버튼을 만들어
>
> 클릭하면 바로 갈수 있도록 하고 싶은데.. 안되는 군요...
>
> 소스를 올리니.. 한번 봐 주세요...
>
> procedure TForm1.Btton1Click(Sender: TObject);
> var
> url, fname, CLSID, BandCLSID : string;
> buf : integer;
> begin
> url := 'http://yahoo.co.kr';
> fname := 'c:windowsGOTOURL.htm';
> buf := 1;
> MakeHtmlFile(url, fname);
>
>
> //----- 바로가기 등록
>
> MyReg := TRegistry.Create;
>
> BandCLSID := '{CE315940-0891-898B-B197C5DE3B1D}';
> CLSID := '{E0DD6CAB-2D10-11D2-8F1A-0000F87ABD16}';
>
> MyReg.RootKey := HKEY_LOCAL_MACHINE;
> if MyReg.OpenKey('SoftwareMicrosoftInternet Explorer',False) then
> if not MyReg.KeyExists('Extensions') then
> MyReg.CreateKey('Extensions');
>
> if MyReg.OpenKey('SoftwareMicrosoftInternet ExplorerExtensions',False) then
> if not MyReg.KeyExists(clsid) then
> MyReg.CreateKey(clsid);
>
> if MyReg.OpenKey('SoftwareMicrosoftInternet ExplorerExtensions'+clsid,False) then
> begin
> MyReg.WriteString('CLSID', clsid);
> MyReg.WriteString('BandCLSID', BandCLSID);
> MyReg.WriteString('Script', fname);
> MyReg.WriteString('ButtonText', 'GOTO');
> MyReg.WriteString('DefaultVisible', 'Yes');
> MyReg.WriteString('Default Visible', 'Yes');
> end;
>
> MyReg.CloseKey;
>
> end;
>
>
>