我最近(今天)开始从德尔福内部干预我的注册表。:) 一切正常,我的自定义文件类型现在用我的程序打开,但有 2 个问题我无法解决。
1)我想要从所有文件类型中“打开”的选项,所以我添加了
reg := TRegistry.Create;
reg.RootKey := HKEY_CLASSES_ROOT;
reg.LazyWrite := false;
reg.OpenKey('*\OpenWithList\EncryptionSystem', true);
reg.WriteString('','C:\Program Files\EncryptionSystem\EncryptionSystem.exe "%1"');
reg.CloseKey;
reg.free;
如果我使用 regedit 查看注册表,它肯定在那里,但是当我右键单击一个文件并选择打开时它不存在...
所以我然后添加了这个
reg.OpenKey('*\shell\Encrypt\command', true);
reg.WriteString('','C:\Program Files\EncryptionSystem\EncryptionSystem.exe "%1"');
reg.CloseKey;
这对每个文件都有效,但选项位于顶部,带有“打开”和“编辑”。我有点希望它像大多数程序一样出现在菜单小节中......我意识到我需要使用 shellext,但我不明白这些如何与上下文菜单处理程序一起工作的结构......我已经学会了所有无论如何,我已经阅读了注册表......我知道 shellext 的名称稍后会出现在“。*”之后,但至于大乱码键的含义,我不知道。