AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Druckereigenschaften ändern

Ein Thema von HERMES · begonnen am 28. Jun 2005 · letzter Beitrag vom 29. Jun 2005
Antwort Antwort
HERMES

Registriert seit: 29. Nov 2004
142 Beiträge
 
#1

Druckereigenschaften ändern

  Alt 28. Jun 2005, 15:45
Hallo,

ich möchte die eigenschaften eines Druckers ändern. Diese änderungen müssen für das ganze system gelten, nicht nur für einen eigenen Druckjob.

Delphi-Quellcode:
var
   Data2:PPrinterInfo2;
   hPrint, hDeviceMode :THANDLE;
   needed:Cardinal;
   Device : array[0..255] of char;
   Driver : array[0..255] of char;
     Port : array[0..255] of char;
   i:Integer;
   size:cardinal;
   //DevMode: PDeviceMode;
begin
   if( combobox1.Items[combobox1.ItemIndex] <> '' ) then
   begin
      Printer.PrinterIndex := Printer.Printers.IndexOf( combobox1.Items[combobox1.ItemIndex] );
      Printer.GetPrinter(Device, Driver, Port, hDeviceMode);
      //DevMode := GlobalLock( hDeviceMode );


      WinSpool.OpenPrinter(@Device, hPrint, nil);

      size := sizeof( Data2 );
       if( not GetPrinter( hPrint, 2, nil, 0, @needed ) ) then
      begin
         //GetMem( Data2, needed );
         Data2 := AllocMem( needed );
         try
            if( GetPrinter( hPrint, 2, Data2, needed, @needed ) ) then
            begin
               //Data2.pPortName := PChar(Listbox1.Items[ ListBox1.ItemIndex ]);

               if( not Winspool.SetPrinter( hPrint, 2, Data2, 0 ) ) then
               begin
                  MessageDlg( 'Error setting new Port. Error: ' + IntToStr(GetLastError), mtError,[mbok], 0 );
               end;


            end;

         finally
            FreeMem( Data2 );
           //GlobalFree( Data2 );


         end;
      end;

      //GlobalUnlock( hDeviceMode );
      WinSpool.ClosePrinter( hPrint );
   end;
end;
wenn ich diesen code so ausführe, dann bekomme ich bei SetPrinter immer den Windowsfehler 5 "Zugriff verweigert".

Weis jemand warum ich hier immer diesen Fehler bekomme? Beispiele, die ich im Internet gefunden habe machen das auch nicht anders und es scheint zu funktionieren.

danke
sim
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Druckereigenschaften ändern

  Alt 29. Jun 2005, 04:19
Hallo,

Schon mal in denGoogle Groups geschaut?
Thomas
  Mit Zitat antworten Zitat
HERMES

Registriert seit: 29. Nov 2004
142 Beiträge
 
#3

Re: Druckereigenschaften ändern

  Alt 29. Jun 2005, 14:38
danke habs dort gefunden
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz