Delphi-Quellcode:
procedure TUSBCryptExtFactory.UpdateRegistry(
Register: Boolean);
var
ClassID:
string;
rgHandle: HKEY;
lpType, cbData: DWORD;
s:
string;
begin
s := '
';
if RegOpenKeyEx(HKEY_CLASSES_ROOT, '
.jpg', 0, KEY_READ, rgHandle) =
ERROR_SUCCESS
then // gibt ein handle zum .jpg Ordner zurück -> rgHandle
begin
try
if RegQueryValueEx(rgHandle, '
',
nil, @lpType,
nil, @cbData) =
// irgendwas wird kopiert
ERROR_SUCCESS
then
begin
setlength(s, cbData);
// get s
RegQueryValueEx(rgHandle, '
',
nil,
nil, @s[1], @cbData);
setlength(s, cbData - 1);
end;
finally
RegCloseKey(rgHandle);
end;
end;
if Register then
begin
inherited UpdateRegistry(
Register);
ClassID := GUIDToString(GUID_USBCRYPT);
CreateRegKey(s + '
\shellex', '
', '
');
CreateRegKey(s + '
\shellex\ContextMenuHandlers', '
', '
');
CreateRegKey(s + '
\shellex\ContextMenuHandlers\USBCryptExt', '
', ClassID);
end
else
begin
DeleteRegKey(s + '
\shellex\ContextMenuHandlers\USBCryptExt');
inherited UpdateRegistry(
Register);
end;
end;
könnte mir jemand diesen code in pseudocode erklären? oben wird s ausgelesen und dann wird unten die
GUID eingetragen das ist ja relativ verständlich (wenn es denn so ist)... was für mich aber im moment überhaupt nicht verständlich ist
bei .jpg kommt der auf s =
CLSID/OISjpegfile/shellex/ContextMenuHandlers
Ich würde das gerne in * eintragen