2008. augusztus 19., kedd
Add items to the Windows Explorer right-click menu
Problem/Question/Abstract:
How do I add some items to Explorer's right-click menu, which appears when the user right-clicks on a certain file type?
Answer:
procedure add_context_menu;
type
extns = (wav, png, bmp, jpg);
const
ext_names: array[extns] of string = ('.wav', '.png', '.bmp', '.jpg');
var
ext: extns;
reg: TRegistry;
name: string;
command: string;
begin
reg := TRegistry.Create;
reg.RootKey := HKEY_CLASSES_ROOT;
{Build the command string we want to store}
command := '"' + Application.ExeName + '" "%1"';
{Loop over extensions we can handle}
for ext := wav to jpg do
begin
{See if this extension is already known in HKEY_CLASSES_ROOT}
if reg.OpenKeyReadOnly('\' + ext_names[ext]) then
begin
name := reg.ReadString(''); {Get the name of this type}
if name <> '' then
{If not blank, open this type's shell key, but don't create it}
if reg.OpenKey('\' + name + '\shell', False) then
{Try to create a new key called "APTprocess". Note that for Delphi5 we
need to set the access explicitly}
reg.Access := KEY_READ or KEY_WRITE;
if reg.OpenKey('APTprocess', True) then
begin
{The default value will be displayed in the context menu}
reg.WriteString('', '&APT process');
{So now open the command key, creating it if required}
reg.Access := KEY_READ or KEY_WRITE;
if reg.OpenKey('command', True) then
{and write the command string as the default value}
reg.WriteString('', command);
end;
end;
end;
reg.Free;
end;
Feliratkozás:
Megjegyzések küldése (Atom)
Nincsenek megjegyzések:
Megjegyzés küldése