When user register a application by user choice, there are some registry entries automatically created by windows. By doing the same behaviors like windows, application can be launched automatically by clicking associated files. |
Following example shows an example I implemented
uses System.Win.Registry;
.
.
.
Procedure TForm1.FormCreate(Sender: TObject);
begin
with TRegistry.Create do
try
RootKey := HKEY_CURRENT_USER;
if OpenKey('Software\Classes\.kes', true) then begin
WriteString('', '.kes_auto_file');
end;
finally
Free;
end;
with TRegistry.Create do
try
RootKey := HKEY_CURRENT_USER;
if OpenKey('Software\Classes\.kes_auto_file\shell\open\command', true) then begin
WriteString('', '"' + ParamStr(0) + '" "%1"');
end;
finally
Free;
end;
with TRegistry.Create do
try
RootKey := HKEY_CURRENT_USER;
if OpenKey('Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.kes\UserChoice', true) then begin
WriteString('', 'Applications\EmployeeSurvey.exe');
WriteString('ProgId', '.kes_auto_file');
end;
finally
Free;
end;
end; |