In the Registry, an EditFlags Binary Value (4 bytes) can be used
to keep users from using these dialog boxes
to re-define selected associations.
Of course, the user can always edit the registry itself in order to
change a protected association,
but the easiest way to make changes is to simply

Rename the associated EditFlags parameter (just add a letter to the name),

Use the provided dialog boxes to make the desired changes, and

Re-name the parameter back to EditFlags (assuming of course that you want to).

Under HKEY_CLASSES_ROOT,
each file extension points to a FileType definition.
An EditFlags parameter may be part of this definition.
Each context sensitive menu selection
(defined under the FileType/shell key)
may contain its own EditFlags parameter which, when present,
over rides the flags defined at the higher level.

Each of the 11 active EditFlags bits disables some function ...

3 flags affect the File Types tab and will

Function

Byte:Bit

Example

Hide the existence of the association

0:0

01 00 00 00

Disable the Remove button

0:4

10 00 00 00

Disable the Edit button

0:3

08 00 00 00

7 flags control the Edit File Type dialog box and will disable the

Function

Byte:Bit

Example

Change Icon... button

1:1

00 02 00 00

Description of Type edit field

1:0

00 01 00 00

MIME edit field

0:1

02 00 00 00

New... button

0:5

20 00 00 00

Edit... button

0:6

40 00 00 00

Remove button

0:7

80 00 00 00

Set Default button

1:2

00 04 00 00

1 flag supposedly controls whether an Open/Save dialog box is presented
when MS Internet Explorer reads a file of that type. Set for .AVI, Excel,
Midi, MPlayer, PowerPoint 8.0, RealAudio, Text, MS Word 8.0, and RTF files.
However, it is not set for HTML files. (Go figure :)