Code File:
Unit unit1; interfaceuses windows, messages, sysutils, variants, classes, graphics, controls, forms, dialogs, stdctrls; Type tform1 = Class (tform) memo1: tmemo; button1: tbutton; button2: tbutton; Procedure button1click (Sender: tobject); Procedure formcreate (Sender: tobject); Procedure button2click (Sender: tobject); end; var form1: tform1; implementation {$ R *. DFM} uses registry, shlobj; Procedure dependencies (Sender: tobject); begin memo1.align: = altop; dependencies: = ssboth; button1.caption: = 'set File Associations, icon associations '; button2.caption: = 'unsettings'; If (paramstr (1) '') and fileexists (paramstr (1) Then memo1.lines. loadfromfile (paramstr (1); end; Procedure tform1.button1click (Sender: tobject); var REG: Tregistry; begin REG: = Tregistry. create; Reg. rootkey: = hkey_classes_root; {Add our virtual. tst format, and specify that the default value is testfile} Reg. openkey ('. tst', true); Reg. writestring ('', 'testfile'); Reg. closekey; {file opening Association} Reg. openkey ('testfile \ shell \ open \ command', true); Reg. writestring ('', paramstr (0) + '% 1'); Reg. closekey; {file icon Association} Reg. openkey ('testfile \ defaulticon ', true); Reg. writestring ('', paramstr (0) + ', 0'); Reg. closekey; Reg. free; {refresh icon display} shchangenovel (shcn_assocchanged, shcnf_idlist, nil, nil); end; {clear settings above} procedure tform1.button2click (Sender: tobject); var REG: Tregistry; begin REG: = Tregistry. create; Reg. rootkey: = hkey_classes_root; Reg. deletekey ('. tst'); Reg. deletekey ('testfile'); Reg. free; shchangenovel (shcn_assocchanged, shcnf_idlist, nil, nil); end.