AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Informationen über Druckerstatus funzt nicht
Thema durchsuchen
Ansicht
Themen-Optionen

Informationen über Druckerstatus funzt nicht

Ein Thema von ustra · begonnen am 16. Nov 2003 · letzter Beitrag vom 16. Nov 2003
Antwort Antwort
ustra

Registriert seit: 12. Mär 2003
Ort: Geesthacht
138 Beiträge
 
Delphi 5 Professional
 
#1

Informationen über Druckerstatus funzt nicht

  Alt 16. Nov 2003, 13:47
Hallo,

ich habe folgendes geschrieben:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
type
TPrinterInfo=Printer_Info_2;
PPrinterInfo=^TPrinterInfo;
var hd : THandle;
   str : PPrinterInfo;
   byt : Cardinal;
   p : array[0..255] of char;
begin
    hd:=GetPrinterHandle(GetStandardPrinter);
    if GetPrinterStatus(hd) <> 0
    then showMessage('yippi');
end;

function TForm1.GetPrinterStatus(PHandle:THandle):integer;
type
TPrinterInfo=Printer_Info_6;
PPrinterInfo=^TPrinterInfo;
var
BytesNeeded:Cardinal;
PInfo:PPrinterInfo;
ok:boolean;
begin
result:=-1;

//Speicherbedarf lesen
GetPrinter(PHandle,6,nil,0,@BytesNeeded);
PInfo:=AllocMem(BytesNeeded);

//Daten holen
ok:=GetPrinter(PHandle,6,PInfo,BytesNeeded,@BytesNeeded);

if (ok=true) then
begin
Result:=integer(PInfo.dwStatus);
end
end;

function TForm1.GetPrinterHandle(PrinterName:string):THandle;
var
P:array[0..255]of Char;
begin
StrPCopy(P,PrinterName);
if OpenPrinter(@P, Result, nil)=FALSE then Result:=0;
end;

function TForm1.GetStandardPrinter():String;
var
s:string;
prn:TPrinter;
var
ResStr: array[0..255] of Char;
begin
s:='NA';
prn:=printer();

//Drucker installiert ?
if (prn.printers.count>0) then
begin
//Druckername holen
GetProfileString('Windows', 'device', '', ResStr, 255);
s := Trim(StrPas(ResStr));
end;
//Druckernamen formatieren
if (s='') then s:='NA';
s:=copy(s,0,Pos(',',s)-1);
Result:=trim(s);
end;
Mit diesem Code lese ich Informationen über den Druckerstatus aus. Das Problem ist, dass er bei
Delphi-Quellcode:
if GetPrinterStatus(hd) <> 0
    then showMessage('yippi');
immer den Wert 0 zurückliefert. Wenn der Wert <> 0 ist, habe ich eine entsprechende Information. Weiss jemand, wo das Problem leigen könnte. Ich habe da die Vermutung, dass es nicht geht, weil der Drucker über USB angeschlossen ist.

Beste Grüße
Ulrich
Ulrich Strauer
  Mit Zitat antworten Zitat
ustra

Registriert seit: 12. Mär 2003
Ort: Geesthacht
138 Beiträge
 
Delphi 5 Professional
 
#2

Re: Informationen über Druckerstatus funzt nicht

  Alt 16. Nov 2003, 13:56
Hallo,

mist, das war ein posting umsonst. Ich hatte eigentlich erwartet, wenn der Drucker an ist, dass der WErt ungleich sit. Ich habe nun noch mal den Drucker angehalten und siehe da, es funktioniert. NIchts für ungut.

Ulrich
Ulrich Strauer
  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 16:51 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