var reg: TRegIniFile;
WinSysDir:Array[0..255] of char;
RegCmd, UnregCmd, ViewCmd:string;
begin
Első lépésben lekérdezzük a Windows System könyvtárának elérési útvonalát, amit a GetSystemDirectory függvénnyel tehetünk meg. Erre azért van szükség, mert ebben a könyvtárban van a RegSrv32.exe fájl.
GetSystemDirectory(WinSysDir, 256);
Ha ez megvan, akkor a ViewCmd, RegCmd és az UnregCmd változókban létrehozzuk az egyes funkciókhoz tartozó parancssorokat.
ViewCmd:=WinSysDir+'\VIEWERS\QUIKVIEW.EXE';
RegCmd:=WinSysDir+'\REGSVR32.EXE %1';
UnregCmd:=WinSysDir+'\REGSVR32.EXE /u %1';
A registry-ben való matatáshoz most a TRegIniFile osztályt fogjuk alkalmazni.
reg:=TRegIniFile.Create('');
with reg do
begin
RootKey:=HKEY_CLASSES_ROOT;
Először a "Megnyitás" parancsot adjuk hozzá a gyorsmenühöz. Ehhez ellenőrizzük, hogy a QuikView.EXE program telepítve van-e. Ezzel a programmal sok minden más mellett a dll fájlokba is bele lehet tekinteni.
if FileExists(ViewCmd) then
begin
WriteString('dllfile\Shell\Open', '', 'Megnyitás ...');
WriteString('dllfile\Shell\Open\command', '', ViewCmd+' %1');
end;
WriteString('dllfile\Shell\Register','','Register');
WriteString('dllfile\Shell\Register\command','', RegCmd);
WriteString('dllfile\Shell\Unregister','','Unregister');
WriteString('dllfile\Shell\Unregister\command','', UnregCmd);
Free;
end;
Ha mindennel végeztünk, akkor üzenet, és kilépés.
ShowMessage('Kész!');
end.