Deutsch
Forum

Druckerauftrag ermitteln

 
- Seite 1 -



Rolf
Koch
Hallöchen heut frag ich mal so in die Runde, da ich mit Drucken nie soviel gemacht habe.
Folgende Problemstellung:
Wir haben bei uns ein Computer mit Drucker auf dem Lager.
Wenn ein Kunde ein Gerät gekauft hat und an der Kasse bezahlt hat, so kommt bei uns ein entsprechender Beleg aus dem Drucker, damit wir die Waschmaschine, TV oder solch ein Zeugs raussuchen können.
Jetzt würde ich gerne ein nebenbeilaufendes Tool schreiben, welches einen Sound abspielt, wenn ein solcher Beleg aus dem Drucker kommt.
Meint Ihr, ich könnte dies irgendwie erreichen?
 
20.12.2008  
 



 
- Seite 2 -


Hehe und jetzt kannst die Info noch mit Gonzo per Bot nach Australien schicken und dort wird dann der Mülleimer ausgeleert.
 
21.12.2008  
 




Rolf
Koch
Grad mit iF geskypet. Ich darf leider von der Fa. aus keine Fremdsoftware (lediglich dann meine) installieren. Also geht diese Variante auch nicht
 
21.12.2008  
 




Frank
Abbing
Das Tool nutzt die Windows-Job-API. Schau dir die doch mal an:

AbortPrinter
AbortProc
AddForm
AddJob
AddMonitor
AddPort
AddPrinter
AddPrinterConnection
AddPrinterDriver
AddPrintProcessor
AddPrintProvidor
AdvancedDocumentProperties
ClosePrinter
ConfigurePort
ConnectToPrinterDlg
DeleteForm
DeleteMonitor
DeletePort
DeletePrinter
DeletePrinterConnection
DeletePrinterData
DeletePrinterDriver
DeletePrintProcessor
DeletePrintProvidor
DocumentProperties
EndDocPrinter
EndPagePrinter
EnumForms
EnumJobs
EnumMonitors
EnumPorts
EnumPrinterData
EnumPrinterDrivers
EnumPrinters
EnumPrintProcessorDataTypes
EnumPrintProcessors
FindClosePrinterChangeNotification
FindFirstPrinterChangeNotification
FindNextPrinterChangeNotification
FreePrinterNotifyInfo
GetForm
GetJob
GetPrinter
GetPrinterData
GetPrinterDriver
GetPrinterDriverDirectory
GetPrintProcessorDirectory
OpenPrinter
PrinterMessageBox
PrinterProperties
ReadPrinter
ResetPrinter
ScheduleJob
SetForm
SetJob
SetPort
SetPrinter
SetPrinterData
StartDocPrinter
StartPagePrinter
WaitForPrinterChange
WritePrinter
 
21.12.2008  
 




Rolf
Koch
OK Frank Danke werde mir das in einer ruhigen Minute (Stunden ^^) mal reinziehen
 
21.12.2008  
 




E.T.
Ich hatte auch mal sowas für zu Hause gebastelt. Ich hab da aber einfach nur das Spool-Verzeichnis überwacht, ob was drinn liegt (also die simple Form ohne API usw.).
Hat ganz gut funktioniert, es wurden bei mir alle 4 Drucker (incl. pdf-Printer) bemerkt.
Vorraussetztung ist natürlich, das der (die) Drucker den Spooler nutzen (aber das ist ja meißt so).
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
21.12.2008  
 




Rolf
Koch
Hört sich gut an E.T.
Ich gebe ehrlich zu, daß ich garnicht wusste, daß es ein Verzeichnis gibt. Ist dies ein Tempverz.?
 
21.12.2008  
 




Rolf
Koch
Aja Danke für die Info
[...] 
 
21.12.2008  
 




E.T.
Nicht schön, aber auf die Schnelle . Bei mir funzt es, es werden auch pdf-Drucker, Fax-Drucker etc. berücksichtigt. Das Verz. muß natürlich passen.
Bei mir geht das jetzige Bsp nicht ohne Fenster (ListBoxList ?? ), aber so ist der Test wenigstens wieder beendbar
KompilierenMarkierenSeparieren
Declare Ende%
WindowStyle 16+64+8
Window 0,0

WhileNot Ende%

    waitinput 500
    ClearList
    AddFiles "C:\WINDOWS\system32\spool\PRINTERS\*.*"

    If %GetCount-1

        SOUND 440,5
        SOUND 640,5

    EndIf

    If %Key = 2

        Ende% = 1

    EndIf

Wend

end

Erzeugt bei mir auch keine Prozessor-Last.
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
21.12.2008  
 




Rolf
Koch
Ist ja wieder typisch. Egal was ich drucke im Pfad passiert nix. Es werden keine Dateien abgelegt (also tempmässig und überhaupt)
Nachtrag:
Doch - hab mal das waitinput durch sleep ersetzt und schon funktioniert es. Komisch. Naja will ja sowieso dann mit einem Timer arbeiten.
 
21.12.2008  
 




Paul
Glatz
Bei mir geht es! (Win Vista)
 
21.12.2008  
 




E.T.
Schon mal in die Drucker-Einstellungen geschaut ??

49 kB
Hochgeladen:21.12.2008
Ladeanzahl138
Herunterladen
 
Grüße aus Sachsen... Mario
WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte...
21.12.2008  
 




Andreas
Miethe


Hallo Rolf,
versuchs mal hiermit, da wird der Standard-Dricker überwacht.
KompilierenMarkierenSeparieren
 $H windows.ph
DEF Get_STDPrinter(1) Substr$(ReadIni$("WIN.INI","Windows","Device"),@&(1),",")
Var Spool& = ImportDll("Winspool.drv","")
cls
DEF &PRINTER_CHANGE_JOB  $FF00
DEF &INFINITE $FFFFFFFF
DEF &PRINTER_CHANGE_ADD_JOB $100
Var A& = 0
Var chgObject& = 0
Var pdwChange& = 0
Var fcnreturn& = 0
Var hPrinter& = 0
Var Printer$ = Get_STDPrinter(1)
OpenPrinterA(Addr(Printer$),Addr(hPrinter&),0)
chgObject& = FindFirstPrinterChangeNotification(hPrinter&,&PRINTER_CHANGE_JOB, 0, 0)

Repeat

    ~WaitForSingleObject(chgObject&,200)200 Millisekunden warten
    fcnreturn& = FindNextPrinterChangeNotification(chgObject&, Addr(pdwChange&),0,0)

    If fcnreturn&

        If pdwChange& = &PRINTER_CHANGE_ADD_JOB

            Print "neuer Druck-Job"

        endif

    Endif

Until A& = 1Abbruchbedingungen vielleicht besser mit einem Button bestimmen ?

FindClosePrinterChangeNotification(chgObject&)
ClosePrinter(hPrinter&)
end
 
Gruss
Andreas
________ ________ ________ ________ _
Profan 3.3 - XProfanX2
Win 95,98,ME,2000,XP,Vista - Win 7 32 / 64 Bit
ASUS X93S - Intel Core I7-NVIDIA GForce 540M 8GB Arbeitsspeicher
Homepage :  [...] 
21.12.2008  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

113.084 Betrachtungen

Unbenanntvor 0 min.
rquindt17.05.2020
Rainer Hoefs10.03.2018
Rolf Koch20.01.2018
p.specht08.02.2017
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie