Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
인쇄전에 레이져프린터에 용지가 있는가를 검사?
업무 특성상 인쇄하기 전에
실제 프린터에 용지가 있는가를 검사하고 싶습니다.
프린터는 레이져 프린터입니다.
한국HP에 문의해도 방법이 없다네요.
없는 것은 아니고 모른다나..
메뉴얼을 뒤져봐도 그런 코드는 나오질 않고요...
방법이 없나요?
2
COMMENTS
정지호
•
2000.08.23 19:37
아래처럼 해보세요
var
device :array [0..cchdevicename -1 ] of char;
driver :array [0..(max_path)] of char;
port :array [0..32] of char;
handle:Thandle;
hmode:Thandle;
CByteNeeded :integer;
CByteUsed:integer;
pPrinterInfo: ^Tprinterinfo2;
begin
handle:=-1;
printer.printerindex:= -1;
printer.GetPrinter(device, driver, port,hmode);
if openprinter(device,handle,nil) = false then
exit;
//cByteNeeded 가져오기
if Getprinter( Handle, 2, nil, 0, addr(CByteNeeded)) = false then
if getlasterror() <> ERROR_INSUFFICIENT_BUFFER then
exit;
Getmem( pPrinterInfo,CByteneeded);
//프린터의 정보가져오기
if Getprinter( handle, 2, pPrinterInfo,cByteNeeded,addr(CByteUsed)) = false then
if getlasterror() <> ERROR_INSUFFICIENT_BUFFER then
begin
Freemem(pPrinterInfo);
exit;
end;
//pPrinterInfo 에 현재 프린터의 상태가 넘어옵니다.
//pPrinterInfo.status에 현재 프린터의 상태값이 옵니다.
//status값은 아래값들을 참조하시고요
// 더자세한 사항은 win32.hlp에서 printer_info2를 참고하시면
//될겁니다.
//이부분에 pPrinterInfo.status를 check하는 부분이 들어가면 되겠지요
Freemem(pPrinterInfo);
end;
더 간단히 구하는 방법도 있긴 있을것 같은데
제가 아는건 여기까지네요...
도움이 되셨기를 바랍니다.
PRINTER_STATUS_BUSY
PRINTER_STATUS_DOOR_OPEN
PRINTER_STATUS_ERROR
PRINTER_STATUS_INITIALIZING
PRINTER_STATUS_IO_ACTIVE
PRINTER_STATUS_MANUAL_FEED
PRINTER_STATUS_NO_TONER
PRINTER_STATUS_NOT_AVAILABLE
PRINTER_STATUS_OFFLINE
PRINTER_STATUS_OUT_OF_MEMORY
PRINTER_STATUS_OUTPUT_BIN_FULL
PRINTER_STATUS_PAGE_PUNT
PRINTER_STATUS_PAPER_JAM
PRINTER_STATUS_PAPER_OUT
PRINTER_STATUS_PAPER_PROBLEM
PRINTER_STATUS_PAUSED
PRINTER_STATUS_PENDING_DELETION
PRINTER_STATUS_PRINTING
PRINTER_STATUS_PROCESSING
PRINTER_STATUS_TONER_LOW
PRINTER_STATUS_UNAVAILABLE
PRINTER_STATUS_USER_INTERVENTION
PRINTER_STATUS_WAITING
PRINTER_STATUS_WARMING_UP
0
0
삭제
수정
댓글
강호규
•
2000.08.24 19:46
조언 주신 내용 감사합니다.
소스대로 해봤더니 상태값이 항상 0 이네요.
네트웍 프린터, 로컬 프린터 모두요.
어떤 이유에서 인지 상태 체크가 정상적으로
되질 않고 있습니다.
pServerName=
pPrinterName=HP LaserJet 2100 Series PCL 6
pShareName=
pPortName=ADMINHPLaserJ.2
pComment=
pLocation=
pSepFile=
Status=0 <----- 정상적인 반환값이 아님(정의되지 않은 값)
cJobs=0
어쩌다 한번씩 "USER INTERVENTION"라고도 반환하네요.
참고로 저는 HP LaserJet2000, HP LaserJet4050에서
테스트 하였습니다.
OS :win98, 2000
델파이 5.0
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
Dip2K
2000.08.23 05:27
0
COMMENTS
/
0
LIKES
IDE에서 프린터 설정시 에러
김상식
2000.08.23 05:06
0
COMMENTS
/
0
LIKES
OleContainer 에서 Word문서를 Import 하는 법좀??
정경일
•
2000.08.23 05:05
1
COMMENTS
/
0
LIKES
Active X의 복사(비슷한 프로그램을 만들때)
최용일
•
2000.08.24 03:12
안녕하세요. 최용일입니다. CLSID는 클라이언트상에서 유일하게 존재해야합니다. 서로 다른 컴서버가...
Sorry
•
2000.08.23 05:28
2
COMMENTS
/
0
LIKES
MDB에서 데이터 수정시 에러
도와주세요..도사님..
•
2000.08.23 05:28
음..그건 Table1의 Primary Key를 확인하셔야.. 같은 값이 분명히 존재할 겁니다. Primary 값이 같은 Dat...
.....
•
2000.08.23 05:28
도와주세요..도사님.. wrote: > 음..그건 Table1의 Primary Key를 확인하셔야.. > 같은 값이 분명히 존재...
코스모
•
2000.08.23 04:47
1
COMMENTS
/
0
LIKES
이미 생성된(활성화) 폼 찾기
김경완
•
2000.09.07 06:28
저도 간신히 알아 냈지요. 질문에는 거의다 아신다고 했는데 제가 수십군데 질문했는데 한번도 답변을 ...
서일식
•
2000.08.23 04:27
3
COMMENTS
/
0
LIKES
혹시 테이프장치나 cdrw장치를 제어할수 있나요?
최용일
•
2000.08.23 04:43
안녕하세요. 최용일입니다. 테이프는 모르겠는데... CDRW는 CDRW Driver가 이러한 일들을 모두다 해주는...
서일식
•
2000.08.24 00:46
답변 잘 받았습니다. CDRW Driver가 Copy하고 Delete하지만 그걸 제가 현재 작성하고 있는 델파이 프로...
나영민
•
2000.08.24 05:17
CDR 제어하는 API는 한 1000만원 정도 하고요.. 또 라이센스 제약도 있습니다. (카피수 제약) 미국에 ...
풍월 ^^
•
2000.08.23 04:13
1
COMMENTS
/
0
LIKES
테이블에 날짜와 시간을 자동저장 하는 방법은? (StrToDateTime 이용)
이선경
•
2000.08.24 17:57
풍월 ^^ wrote: > 왕초보라 @-->------ > StrToDateTime(MaskEdit1.text)를 사용 하여 테이블에 날짜와 ...
나영민
2000.08.23 03:55
0
COMMENTS
/
0
LIKES
exe에 dll 함수를 추가할 수 없나요?
강호규
•
2000.08.23 03:38
2
COMMENTS
/
0
LIKES
인쇄전에 레이져프린터에 용지가 있는가를 검사?
업무 특성상 인쇄하기 전에 실제 프린터에 용지가 있는가를 검사하고 싶습니다. 프린터는 레이져 프린터입니다. 한국HP에 문의해도 방법이 없다네요. 없는 것은 아니고 모른다나.. 메뉴얼을 뒤져봐도 그런 코드는 나오질 않고요... 방법이...
정지호
•
2000.08.23 19:37
아래처럼 해보세요 var device :array [0..cchdevicename -1 ] of char; driver :array [0..(max_pa...
강호규
•
2000.08.24 19:46
조언 주신 내용 감사합니다. 소스대로 해봤더니 상태값이 항상 0 이네요. 네트웍 프린터, 로컬 프린터 ...
tommy
2000.08.23 03:20
0
COMMENTS
/
0
LIKES
스트링 그리드에 3줄씩 색깔넣기 질문입니다.
김종석
•
2000.08.23 02:38
1
COMMENTS
/
0
LIKES
카드게임 소스구할 수 없나요?
최용일
•
2000.08.23 04:31
안녕하세요. 최용일입니다. 한델의 자료실에 올려두었습니다. ^^ 항상 즐코하세요. 김종석 wrote:...
이규호
•
2000.08.23 04:06
2
COMMENTS
/
0
LIKES
Database Desktop에서 Oracle Table 생성 시 에러
바사기몬
•
2000.08.23 04:02
이규호 wrote: > 안녕하세요. > 오라클을 공부하던중 아래같은 문제가 발생했습니다. > 도와줘잉..... ...
김일영
•
2000.08.23 02:57
검색을 생활화합시다. 아래 링크를 참고하세요. http://www.delphi.co.kr/cgi-bin/cwb/CrazyWWWBoard.cgi...
장
2000.08.23 02:13
0
COMMENTS
/
0
LIKES
DLL로 만든 MDI Child의 Edit에서 Focus가 Parent로 이동
최송희
2000.08.23 01:42
0
COMMENTS
/
0
LIKES
델파이로 만든 동일한 ocx를 TwebBrowser로 동시에 띄우면 오류가 발생해요.
chobo
•
2000.08.23 01:36
3
COMMENTS
/
0
LIKES
excel file을 db화일로 변환하는 방법에 대해서..
최석기
•
2000.08.23 02:21
chobo wrote: > 엑셀에 저장되어 있는 데이터를 DBGrid에 뿌려 주려고 하거든요... > 단순히 코딩으로 해...
나현희
•
2000.08.23 02:49
최석기 wrote: > chobo wrote: > > 엑셀에 저장되어 있는 데이터를 DBGrid에 뿌려 주려고 하거든요... >...
최석기
•
2000.08.23 02:49
> 근데...이거는 전체아니면, TOP부터 특정 레코드만큼만 읽잖아요. > 예를 들어 10번째 레코드부터 100...
heimdal
2000.08.23 01:32
0
COMMENTS
/
0
LIKES
스트링그리드의 특정셀을 읽어 디비에 저장하기
김명찬
2000.08.23 02:11
0
COMMENTS
/
0
LIKES
퀵리포트에서 자의 정확한 길이 단위는?
구자송
•
2000.08.23 02:08
8
COMMENTS
/
0
LIKES
이미지 이동 시 깜박거림 및 불러올 이미지 파일 없을때 디자인 시 설정된 그림 표시
구자송
•
2000.08.24 07:57
심동훈
•
2000.08.23 02:08
최용일
•
2000.08.23 02:09
최용일
•
2000.08.23 02:10
구자송
•
2000.08.23 20:16
최용일
•
2000.08.23 20:57
구자송
•
2000.08.23 21:53
• • •
최용일
2000.08.23 01:09
0
COMMENTS
/
0
LIKES
Re: 파일의 경로에서 파일명만 얻어오기 위한 문자열은../
김일병
•
2000.08.23 00:48
3
COMMENTS
/
0
LIKES
ACCESS-2000(mdb) & BDE
이선경
•
2000.08.24 18:09
김일병 wrote: > MS-OFFICE 2000의 MDB 파일을 BDE와 연결시키려고 하는데... > Unrecognized Database f...
.....
•
2000.08.23 05:06
김일병 wrote: > MS-OFFICE 2000의 MDB 파일을 BDE와 연결시키려고 하는데... > Unrecognized Database f...
김일병
•
2000.08.25 18:00
> ODBC로 연결 하세요... > 연결 방법을 잘 모르시면..다시 질문해 주세요 > ODBC로 연결 했더니 SETU...
강호규
2000/08/23 03:38
Views
428
Likes
0
Comments
2
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
var
device :array [0..cchdevicename -1 ] of char;
driver :array [0..(max_path)] of char;
port :array [0..32] of char;
handle:Thandle;
hmode:Thandle;
CByteNeeded :integer;
CByteUsed:integer;
pPrinterInfo: ^Tprinterinfo2;
begin
handle:=-1;
printer.printerindex:= -1;
printer.GetPrinter(device, driver, port,hmode);
if openprinter(device,handle,nil) = false then
exit;
//cByteNeeded 가져오기
if Getprinter( Handle, 2, nil, 0, addr(CByteNeeded)) = false then
if getlasterror() <> ERROR_INSUFFICIENT_BUFFER then
exit;
Getmem( pPrinterInfo,CByteneeded);
//프린터의 정보가져오기
if Getprinter( handle, 2, pPrinterInfo,cByteNeeded,addr(CByteUsed)) = false then
if getlasterror() <> ERROR_INSUFFICIENT_BUFFER then
begin
Freemem(pPrinterInfo);
exit;
end;
//pPrinterInfo 에 현재 프린터의 상태가 넘어옵니다.
//pPrinterInfo.status에 현재 프린터의 상태값이 옵니다.
//status값은 아래값들을 참조하시고요
// 더자세한 사항은 win32.hlp에서 printer_info2를 참고하시면
//될겁니다.
//이부분에 pPrinterInfo.status를 check하는 부분이 들어가면 되겠지요
Freemem(pPrinterInfo);
end;
더 간단히 구하는 방법도 있긴 있을것 같은데
제가 아는건 여기까지네요...
도움이 되셨기를 바랍니다.
PRINTER_STATUS_BUSY
PRINTER_STATUS_DOOR_OPEN
PRINTER_STATUS_ERROR
PRINTER_STATUS_INITIALIZING
PRINTER_STATUS_IO_ACTIVE
PRINTER_STATUS_MANUAL_FEED
PRINTER_STATUS_NO_TONER
PRINTER_STATUS_NOT_AVAILABLE
PRINTER_STATUS_OFFLINE
PRINTER_STATUS_OUT_OF_MEMORY
PRINTER_STATUS_OUTPUT_BIN_FULL
PRINTER_STATUS_PAGE_PUNT
PRINTER_STATUS_PAPER_JAM
PRINTER_STATUS_PAPER_OUT
PRINTER_STATUS_PAPER_PROBLEM
PRINTER_STATUS_PAUSED
PRINTER_STATUS_PENDING_DELETION
PRINTER_STATUS_PRINTING
PRINTER_STATUS_PROCESSING
PRINTER_STATUS_TONER_LOW
PRINTER_STATUS_UNAVAILABLE
PRINTER_STATUS_USER_INTERVENTION
PRINTER_STATUS_WAITING
PRINTER_STATUS_WARMING_UP