Главная страница | назад





Article #17430: Registering a file extension and context menu operations

 Question and Answer Database

FAQ2430D.txt   Registering a file extension and context menu operations
Category   :VCL
Platform    :All
Product    :All 32 bit  

Question:
How do I register a file extension (file type) and how do
I register context menu operations?


Answer:
Here's a sample that registers a sample extension (.myext).
A sample application (MyApp.Exe) is going to handle this
extension. It also registers one default action as well as
two other context menu operations. You may have to logout
and login in after running this code to get the icon to show
up correctly.

uses
  Registry;

procedure TForm1.Button1Click(Sender: TObject);
var
  R : TRegIniFile;
begin
  R := TRegIniFile.Create('');
  with R do begin
    RootKey := HKEY_CLASSES_ROOT;
    WriteString('.myext','','MyExt');
    WriteString('MyExt','','Some description of MyExt files');
    WriteString('MyExt\DefaultIcon','','C:\MyApp.Exe,0');
    WriteString('MyExt\Shell','','This_Is_Our_Default_Action');
    WriteString('MyExt\Shell\First_Action','','This is our first action');
    WriteString('MyExt\Shell\First_Action\command','',
        'C:\MyApp.Exe /LotsOfParamaters %1');
    WriteString('MyExt\Shell\This_Is_Our_Default_Action','',
       'This is our default action');
    WriteString('MyExt\Shell\This_Is_Our_Default_Action\command',
       '','C:\MyApp.Exe %1');
    WriteString('MyExt\Shell\Second_Action','','This is our second action');
    WriteString('MyExt\Shell\Second_Action\command',
       '','C:\MyApp.Exe /TonsOfParameters %1');
    Free;
  end;
end;


7/16/98 4:31:28 PM
 

Last Modified: 01-SEP-99