// Drucker anhand seines Namens löschen.

// Zur Ermittlung der korrekten Drucker-Bezeichnung
// siehe
Drucker auflisten/auswählen

// Getestet mit D4 unter XP
 

uses WinSpool; 
 
function DeletePrinterByName(PName: string): boolean; 
var 
  hP: THandle; 
  PD: TPrinterDefaultsA; 
  Pt: Pointer; 
begin 
  Result := false; 
  Pt := @PD; 
  zeromemory(Pt, sizeof(PD)); 
  PD.DesiredAccess := PRINTER_ALL_ACCESS; 
  if OpenPrinter(PChar(PName), hP, Pt) then 
  begin 
    Result := DeletePrinter(hP); 
    ClosePrinter(hP); 
  end; 
end; 
 
// Beispiel

procedure TForm1.Button1Click(Sender: TObject); 
begin 
  if not DeletePrinterByName('HP Photosmart C4380 series') 
    then showmessage('Drucker konnte nicht entfernt werden.') 
  else showmessage('Drucker wurde erfolgreich entfernt.') 
end;



 

Zugriffe seit 6.9.2001 auf Delphi-Ecke