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; |