안녕하세요.^^
제가 만든 프로그램을 레지스토리에 등록해서 그 확장자 파일을 클릭하면 바로 연결하는 방법을 좀
갈켜주세요..^^ 저기 검색을 해서 등록하는 방법은 알겠는대....이대로 하니까 레지스토리 확인을 하면은
등록은 되어 있는대 실행을 하니까 어떤 프로그램으로 등록할꺼냐는 창이 떠서요..
검색해서 찾은 소스가
Var
Reg : TRegistry;
Begin
Reg := TRegistry.Create;
try
with Reg do
begin
RootKey := HKEY_CLASSES_ROOT;
OpenKey('MyApp', True); // Openkey(키이름, True);
// 키이름이 없으면 생성한다.
WriteString('', 'MyApp File');
CloseKey;
OpenKey('MyAppDefaultIcon', True);
// 첫번째 파라미터는 반드시 빈문자열이어야 한다.
// 마지막 파라미터는 자신이 만든 실행파일에서 사용할 Icon이다.
WriteString('', Application.ExeName + ',0');
CloseKey;
OpenKey('MyAppshellopencommand', True);
WriteString('', Application.ExeName + ' "%1"');
CloseKey;
RootKey := HKEY_CLASSES_ROOT;
OpenKey('.ext', True); //substitute .ext with
// 자신이 원하는 확장자
WriteString('', 'MyApp');
CloseKey;
end;
finally
Reg.CloseKey;
Reg.Free;
end;
End;
인대요...이렇게 한후에 어떻게 하면은 연결이 되는건지 좀 갈켜주세요^^
레지스트리에 제대로 등록이 안되었네요...
HKEY_CLASS_ROOT에 .를 포함한 확장자가 키로 만들어져야 하구요.
그 키에 기본값으로 그 확장자의 정보를 저장할 이름을 써주세요.
방금만든 이름으로 HKEY_CLASS_ROOT에 키하나 만드시고 탐색기의 종류에 표시될 문자열을 기본값으로 주세요.
하위키로 DefaultIcon을 만드시고 기본값으로 아이콘이 있는 파일이름과 인덱스를 주시고 Shell이라는 키를 만드시고 그 하위에 또 Open라는 키를 만드세요. Open밑에 Command키를 만드시고, Command키의 디폴드값에 프로그램 풀패스를 적어주시면 됩니다.
HKEY_CLASS_ROOT.MyExt
기본값=MyAppFile
HKEY_CLASS_ROOTMyAppFile
기본값=내가만든파일
HKEY_CLASS_ROOTMyAppFileShellDefaultIcon
기본값=C:MyApp.exe, 1
HKEY_CLASS_ROOTMyAppFileShellOpenCommand
기본값=C:MyApp.exe %1
^^ 항상 즐코하세요...