Avatar billede celzo Nybegynder
20. marts 2007 - 16:28 Der er 1 kommentar og
1 løsning

Hente status fra en printer

DOS application:

Generalt:
Jeg har en lidt speciel printer som bruges til at skrive foto ud med, og i den forbindelse
skal jeg ha skrevet et lille program som afvikles i DOS og skriver hvor mange print jeg har
tilbage på forbrugsstofferne:

Printeren er en Citizen CW-01 - http://www.citizen.co.uk/drivers/photo.htm

info:
Jeg har windows API/CwStat.dll hvor i der kan trækkes alle mulige forskellige information ud om printeren,
samt manualen til dette. alt dette kan naturligvis sendes hvis der er brug for der er både VBS og C++ eksempeler
men hvordan jeg får dette til at køre som en ren DOS application er ude for mit område..

Jeg vil gerne om jeg kunne få lidt hjælp til dette jeg har Visual Basic Express til rådighed  :)


fra manualen har jeg dette.:


--------------------------------------------------------------------------------------------------------------

DLL Initialize                                                                         

[Format]  long PortInitialize(LPWSTR p);
long CvInitialize(LPWSTR p);

[Parameter] p:  Pointer to the port name WSTR (2 byte Unicode)

[Return]  True:  Port number
  False:  -1

[Note] Initializes API and returns the port number. If more than one port are used, please get each port
number by generating the command repeatedly.

[Sample Coding]
< Visual C >
long Cw1;
if(( Cw1 = PortInitialize( L"USB001" )) < 0 ){
  // error
}

< Visual Basic >
Dim Cw1
Cw1 = PortInitialize(StrPtr("USB001"));
If Cw1 < 0 Then GoTo Error

--------------------------------------------------------------------------------------------------------------

Get Printer Counter Value                                                             

[Format]  long GetCounterL( long lPortNum );
long CvGetCounterL( long lPortNum );
  long GetCounterA( long lPortNum );
long CvGetCounterA( long lPortNum );
  long GetCounterB( long lPortNum );
long CvGetCounterB( long lPortNum );

[Parameter] lPortNum: Port number

[Return]  True:  Counter Value
  False:  -1

[Note] GetCounterL(),CvGetCounterL()  Returns Life Counter Value.
GetCounterA(),CvGetCounterA()  Returns Counter A Value.
GetCounterB(),CvGetCounterB()  Returns Counter B Value.
Each counter returns the number of prints of PC or L size photos, and is counted up 1 for each photo
printed.
When printing A5W, A5 or 2L size, it will be counted up as two. When printing dual image of PC size, it
will be counted up 2 when the second image is printed.

[Sample Coding]
< Visual C >
long counter;
if(( counter = GetCounterL( Cw1 )) >= 0 ){
counter
  // Returns Life Counter Value to
}

< Visual Basic >
Dim counter As Long
counter = GetCounterL(Cw1)

--------------------------------------------------------------------------------------------------------------

Clear Printer Counter Value                                                           

[Format]  BOOL SetClearCounterA( long lPortNum );
BOOL CvSetClearCounterA( long lPortNum );
  BOOL SetClearCounterB( long lPortNum );
BOOL CvSetClearCounterB( long lPortNum );

[Parameter] lPortNum: Port number

[Return]  True:  TRUE
  False:  FALSE

[Note] SetClearCounterA(),CvSetClearCounterA()  Clears Counter A.
SetClearCounterB(),CvSetClearCounterB()  Clears Counter B.

[Sample Coding]
< Visual C >
if( SetClearCounterA( Cw1 )){
  // Counter A was cleared
}

< Visual Basic >
If SetClearCounterA(Cw1) <> 0 Then
  ’ Counter A was cleared
EndIf

--------------------------------------------------------------------------------------------------------------

-Anders
Avatar billede celzo Nybegynder
28. marts 2007 - 17:33 #1
imponerende ikke en som kan hjælpe??
Avatar billede celzo Nybegynder
07. november 2007 - 12:51 #2
case closed
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester