AGB  ·  Datenschutz  ·  Impressum  







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

GetDefaultPrinter

Ein Thema von Daniel · begonnen am 7. Jul 2002 · letzter Beitrag vom 17. Aug 2004
Antwort Antwort
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#1

GetDefaultPrinter

  Alt 7. Jul 2002, 11:00
Hallo,

ich will unter Windows 2000 / XP den Standard-Drucker ermitteln. Der empfohlene Weg ist die API-Funktion "GetDefaultPrinter". Es will mir aber einfach nicht gelingen, die gültige Pascal-Notation hierfür zu finden.
Die Original-Deklaration laut MSDN:
Code:
BOOL GetDefaultPrinter(
  LPTSTR pszBuffer,  // printer name buffer
  LPDWORD pcchBuffer // size of name buffer
);
Dazu mein bescheidener Versuch:
Code:
function GetDefaultPrinterA(prnName : PAnsiChar; bufSize : DWORD ) : BOOL; stdcall; external 'winspool.drv' name 'GetDefaultPrinterA';
Und alles was ich bekomme, ist eine Schutzverletzung. Beim "Project JEDI" habe ich diese Funktion nicht finden können.

Grüße,
Daniel
Daniel R. Wolf
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#2
  Alt 7. Jul 2002, 11:23
Folgender sollte es tun
Code:
function GetDefaultPrinterA(prnName : PAnsiChar; var bufSize : DWORD ) : BOOL; stdcall; external 'winspool.drv' name 'GetDefaultPrinterA';
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#3
  Alt 7. Jul 2002, 11:28
Das 'var' ist bei mir irgendwo verloren gegangen. Aber nun geht es

Grüße,
Daniel
Daniel R. Wolf
  Mit Zitat antworten Zitat
Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: GetDefaultPrinter

  Alt 17. Aug 2004, 08:52
Hallo,

ich benötige für ein Programm den Defaultprinter um diesen in einer extrigen Combobox darzustellen.

Dazu wollte ich die in diesem Thread vorgestellte GetDefaultPrinterA Procedure verwenden, nur weiß ich nicht recht wie ich diese Anwenden soll.


Muss ich vor Aufruf, Speicher reservieren und wenn ja wieviel?

Im moment mach ich es so:

Delphi-Quellcode:
function getDefaultPrinterName:string;
var
  lprnName: PAnsiChar;
  lBufSize: DWord;
begin
  GetMem(lprnName, 1000);
  try
     GetDefaultPrinterA(lprnName, lBufSize);
     Result := lprnName;
  finally
     FreeMem(lprnName);
  end;
end;
Wobei die Procedure GetDefaultPrinterA so eingebunden wurde wie oben gezeigt.
Günter
  Mit Zitat antworten Zitat
Luciano

Registriert seit: 17. Dez 2003
Ort: Großostheim
126 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: GetDefaultPrinter

  Alt 17. Aug 2004, 09:06
Hi...

Ich hatte da mal so gelöst

Delphi-Quellcode:
// DefaultPrnt ist ein string.
DefaultPrnt := Printer.Printers[Printers.Printer.PrinterIndex]
Getestet unter W2k und XP

Greets

Luciano
Mike Santangelo
Wie kann ich den wissen was ich denke, wenn ich nicht höre was ich sage!
  Mit Zitat antworten Zitat
Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: GetDefaultPrinter

  Alt 17. Aug 2004, 10:49
Damit wäre mein eigentliches Problem gelöst

Danke Dir


Wenn trotzdem noch wer eine Antwort zur Verwendung der GetDefaultPrinterA Procedure hat, würde mich die auch interessieren.
Günter
  Mit Zitat antworten Zitat
Benutzerbild von GuenterS
GuenterS

Registriert seit: 3. Mai 2004
Ort: Österreich > Bad Vöslau
760 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: GetDefaultPrinter

  Alt 17. Aug 2004, 16:12
Die eigentliche Problemlösung habe ich im Delphi-Forum bekommen.

Für Interessierte: [df]http://www.delphi-forum.de/viewtopic.php?t=29233[/df]
Günter
  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 02:29 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