Hallo,
wenn das (Windows Explorer) Kontextmenü den Menüpunkt "Drucken" anbieten, dann sollte Dir folgender Code einen nicht leeren Wert (string) zurückliefern.
Delphi-Quellcode:
function ReadRegistryShellPrintCommand (const Extention : string) : string;
var
r : TRegistry;
s : string;
begin
r := TRegistry.Create;
try
r.RootKey := HKEY_CLASSES_ROOT;
if not r.OpenKeyReadOnly (Extention) then
Result := ''
else
try
s := r.ReadString ('');
r.CloseKey;
if s = '' then
Result := ''
else
begin
s := IncludeTrailingPathDelimiter (s) + 'shell\';
if r.OpenKeyReadOnly (s + 'print\command') then
Result := r.ReadString ('')
else
if r.OpenKeyReadOnly (s + 'printto\command') then
Result := r.ReadString ('')
else
Result := ''
end
except
// Deine Fehlerbehandlung
Result := ''
end
finally
FreeAndNil (r)
end
end;
Gruß