|
|
|
работа с принтером
|
|||
|---|---|---|---|
|
#18+
использую WIN XP На Delphi всё работает,Вот на С чё то не работает, уже пол дня не могу вьехать, есть кто нить кто может сказать в чём тут причина. Мне нужно получить дескриптор печаталки, для того что бы узнать его состояние. int r; char pname[MAX_PATH]; GetDefaultPrinter(pname); printf(">>%s<<",pname); LPHANDLE Handle; //if(OpenPrinter((LPTSTR)pname,Handle,NULL)) if(OpenPrinter("HP LaserJet 4 Plus",Handle,NULL)) { printf(">>I see this printer<<"); } else { DWORD dw = GetLastError(); printf(">>I don't see this printer, error = %d<<",dw); } r=IsPrinterError(Handle); ClosePrinter(Handle); if(!r) printf(">>Printer Ready<<"); else printf(">>Printer not Ready<<"); return !r; у меня всегда OpenPrinter - возвращает 0 - лажа как работает на Delphi подобный кусок procedure WriteRawStringToPrinter(PrinterName:String; S:String); var Handle: THandle; N: Longword; DocInfo1: TDocInfo1; Begin If not OpenPrinter(PChar(PrinterName), Handle, nil) Then Begin ShowMessage('Ошибка :'+IntToStr(GetLastError)); Exit; End; With DocInfo1 do Begin pDocName:=PChar('test doc'); pOutputFile:=nil; pDataType:='RAW'; End; StartDocPrinter(Handle, 1, @DocInfo1); StartPagePrinter(Handle); WritePrinter(Handle, PChar(toASCII(S)), Length(S), N); EndPagePrinter(Handle); EndDocPrinter(Handle); ClosePrinter(Handle); End; - здесь всё OK OpenPrinter - возвращает 0 не всегда а в случае ошибки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2005, 18:47 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33068172&tid=2033301]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
144ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 495ms |

| 0 / 0 |
