Italia
Foro

Druckerauftrag ermitteln

 

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 potuto dies irgendwie erreichen?
 
20.12.2008  
 



Welches System?

Da hat noch jemand solch "Problem" [...] 

Das ist wohl WinSpool-Zeugs, hier wohl etwas Source in VB: [...] 
 
20.12.2008  
 




Rolf
Koch
Das System ist XP
 
20.12.2008  
 



Schau mal hierüber gehts wohl: [...]  [...] 
 
20.12.2008  
 




Rolf
Koch
OK da kämpf ich mal - Danke iF ^^
 
20.12.2008  
 



Hab leider nix zu, aber hätte gern. ^^

Hehe schau mal guter Einstieg: [...] 
 
20.12.2008  
 



Hier [...]  liegt auch was.
 
20.12.2008  
 




Rolf
Koch
Naja da liegt zwar einiges, aber wie gesagt möchte ich lediglich erkennen ob der Drucker gerade druckt und das druckende Programm ist kein Profanprogramm. Es erscheint ganz kurz immer ein Druckerdialog und dann druckt das Teil.
 
21.12.2008  
 



Hehe hier schau mal [...]  ist zwar Pascal...
 
21.12.2008  
 




Frank
Abbing
Du musst eigentlich nur kontinuierlich nach einem Fenster mit dem Druckernamen suchen. Beim Drucken wird kurz ein Trayicon eingeblendet, zu dem das (unsichtbare) Fenster gehört.
Ein weiterer Weg wäre das Suchen nach dem Drucker-Prozess.
 
21.12.2008  
 



Hier Rolf so gehts wenn der PrintMon [...]  (von oben der Link) nebenher corre:
KompilierenMarkierenSeparieren
 $cleq}

const myPMon.Title="PrinterMonitor v3 (c) 2001 by -=Assarbad=- [1.31]"
const myPMon.getMsgSize=sendMessage(hList,wm_getTextLength,0,0)
windowTitle "SoundPlugin: "+myPMon.Title
windowStyle 512 | 8 | 16 | 32
window 640,480
long h=findWindow(myPMon.Title)
casenot getText$(h)==myPMon.Title : end
long hList=myPMon.enumListFromPMonHWnd(h)
casenot h : end
print "hmkey... letz wait"
long myPMon.lastMsgSize=myPMon.getMsgSize,c

do {

waitInput 2500
case %key==2 : break
c=myPMon.getMsgSize
case myPMon.lastMsgSize==c : continue
myPMon.lastMsgSize=c
print ".";

whileLoop 3 {

    sound 1000,20*loop
    sound 500*loop,20*loop
    sound 2000,20*loop

}

}

end

myPMon.enumListFromPMonHWnd(long h){

h=findWindowEx(h,,"Edit",)
casenot h : return null
return KompilierenMarkierenSeparieren
DECLARE __cf1&
Def __cf1(2) !"KERNEL32","GetProcAddress"
Def __cf2(1) !"KERNEL32","GetModuleHandleA"
__cf1&=__cf1(__cf2("user32.dll"),"FindWindowExA")
WINDOWTITLE "SoundPlugin: "+"PrinterMonitor v3 (c) 2001 by -=Assarbad=- [1.31]"
WINDOWSTYLE 512 | 8 | 16 | 32
WINDOW 640,480
var H&=FINDWINDOW("PrinterMonitor v3 (c) 2001 by -=Assarbad=- [1.31]")

IFNOT GETTEXT$(H&)="PrinterMonitor v3 (c) 2001 by -=Assarbad=- [1.31]"

    end

ENDIF

var HLIST&=MYPMON.ENUMLISTFROMPMONHWND(H&)

IFNOT H&

    end

ENDIF

PRINT "hmkey... letz wait"
var MYPMON.LASTMSGSIZE&=SENDMESSAGE(HLIST&,$000E,0,0)
var C&=0

WHILE 1

    WAITINPUT 2500

    IF %KEY=2

        BREAK

    ENDIF

    C&=SENDMESSAGE(HLIST&,$000E,0,0)

    IF MYPMON.LASTMSGSIZE&=C&

        CONTINUE

    ENDIF

    MYPMON.LASTMSGSIZE&=C&
    PRINT ".";

    WHILELOOP 3

        SOUND 1000,20*&LOOP
        SOUND 500*&LOOP,20*&LOOP
        SOUND 2000,20*&LOOP

    ENDWHILE

ENDWHILE

end

proc MYPMON.ENUMLISTFROMPMONHWND

    PARAMETERS H&
    H&=call(__cf1&,H&,0,"Edit",0)

    IFNOT H&

        RETURN 0

    ENDIF

    RETURN H&

endproc


Wenn beide Exen laufen wird gebeept sobald irgendwas im Bezug auf die Drucker passiert...

1.026 kB
Hochgeladen:21.12.2008
Downloadcounter115
Download
24 kB
Hochgeladen:21.12.2008
Downloadcounter96
Download
 
21.12.2008  
 




Rolf
Koch
Das stimmt Frank, jedoch gibt es das Problem, dass ich nicht am Rechner in der Fa. proggen und testen kann - also nur hier zuhause.
Durch iF bin hab ich nun [...]  heruntergeladen und getestet. Perfekt wenn ich die beiliegende Exe starte. Wenn ich drucke dann wirds brav erkannt. Jedoch wenn ich die 100 File sehe und naja die 0 Ahnung von der Sprache ... ^^
 
21.12.2008  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

110.877 Views

Untitledvor 0 min.
rquindt17.05.2020
Rainer Hoefs10.03.2018
Rolf Koch20.01.2018
p.specht08.02.2017
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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