Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
프린터 spooler제어
안녕하십니까?
프린터의 Spooler를 제어하는 방법을 아시는 분의
조언을 부탁드립니다.
감사합니다.
1
COMMENTS
김영대
•
1999.11.16 03:18
류한규 wrote:
> 안녕하십니까?
> 프린터의 Spooler를 제어하는 방법을 아시는 분의
> 조언을 부탁드립니다.
> 감사합니다.
// 작성자: 발도제 (sr21@tcom.co.kr)
unit Main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, winspool, Activex;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure WM_SpoolerStatus(var Msg : TWMSPOOLERSTATUS);
message WM_SPOOLERSTATUS;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WM_SpoolerStatus(var Msg : TWMSPOOLERSTATUS);
var
i : integer;
pjobinfo : ^JOB_INFO_1;
hprinter : Thandle;
dwneeded, dwreturned : Dword;
begin
dwneeded := 0;
dwreturned := 0;
msg.Result := 0;
if (OpenPrinter('프린터 이름', hprinter, nil) = false) then;
if (EnumJobs(hprinter, 0, $FFFFFFFF, 1, nil, 0, dwneeded,
dwreturned) = false) then
begin
if (GetLastError() <> ERROR_INSUFFICIENT_BUFFER) then
begin
closeprinter(hprinter);
end;
end;
GetMem(pjobinfo, dwNeeded);
if (pjobinfo = nil) then
begin
closeprinter(hprinter);
end;
if (EnumJobs(hprinter, 0, $FFFFFFFF, 1, pjobinfo, dwneeded,
dwneeded, dwreturned) = false) then
begin
closeprinter(hprinter);
FreeMem(pjobinfo);
end;
if msg.jobsleft > 1 then
setjob(hprinter,pjobinfo^.jobid,1,pjobinfo,1);
end;
*참고....
setjob(hprinter,pjobinfo^.jobid,1,pjobinfo,1); - 프린트 일시정지
setjob(hprinter,pjobinfo^.jobid,1,pjobinfo,2); - 계속
setjob(hprinter,pjobinfo^.jobid,1,pjobinfo,3); - 취소
setjob(hprinter,pjobinfo^.jobid,1,pjobinfo,4); - 재시작
setjob(hprinter,pjobinfo^.jobid,1,pjobinfo,5); - 삭제....
프린트 스풀러를 맘대로 제어할 수 있답니다....
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
클라라
•
1999.11.16 10:44
1
COMMENTS
/
0
LIKES
SQL INSERT에서요..에러가나는데..봐주세요..
김고진
•
1999.11.16 18:25
클라라 wrote: > 파라독스 DB를 쓰구요. > with DataModule1.com_query do > begin >...
신재경
•
1999.11.16 07:21
1
COMMENTS
/
0
LIKES
[다시질문]수직 스크롤이 맨마지막으로 이동했을때 ?
김영대
•
1999.11.16 20:33
아래 소스를 참고해 보세요 그리고 MessageBox() 로 자료의 끝임을 알릴때 여러번 박스가 나타나므로 아...
김정하
•
1999.11.16 06:25
3
COMMENTS
/
0
LIKES
SaveDialog
이주흥
•
1999.11.16 20:52
김정하 wrote: > SaveDialog에서 파일 선택후 파일을 생성하려고 합니다. > 새로 생성하려는 파일명을 입...
김정하
•
1999.11.16 21:56
답변감사합니다. 그런데, 문제점은......... SaveDialog1.Options := [ofOverwritePormpt]를 사용해 ...
이주흥
•
1999.11.16 22:27
김정하 wrote: > 답변감사합니다. > 그런데, 문제점은......... > SaveDialog1.Options := [ofOverwr...
김선학
•
1999.11.16 05:18
1
COMMENTS
/
0
LIKES
*** Join 후 필드 값 수정하기 [급함] ***
오정운
•
1999.11.16 08:47
김선학 wrote: > 안녕하세요. > 매번 질문만 하게 되네요. > > with datamodule do > begin ...
eclipse
1999.11.16 04:31
0
COMMENTS
/
0
LIKES
퀵레포트 프린트문제....
류한규
•
1999.11.16 03:07
1
COMMENTS
/
0
LIKES
프린터 spooler제어
안녕하십니까? 프린터의 Spooler를 제어하는 방법을 아시는 분의 조언을 부탁드립니다. 감사합니다.
김영대
•
1999.11.16 03:18
류한규 wrote: > 안녕하십니까? > 프린터의 Spooler를 제어하는 방법을 아시는 분의 > 조언을 부탁드립...
한
•
1999.11.16 02:40
1
COMMENTS
/
0
LIKES
디스크 드라이브의 볼륨명 알기
김영대
•
1999.11.16 03:20
한 wrote: > 제목되로 하드나 풀로피나 씨디롬의 볼륨명을 알고 싶습니다. > 그럼 많은 조언 부탁드립니...
버겁이
•
1999.11.16 02:19
2
COMMENTS
/
0
LIKES
EDIT에 입력한 값이 SQL SERVER 7.0의 Money Type의 필드에 저장안됨.
김고진
•
1999.11.16 02:31
버겁이 wrote: > EDIT에 입력한 값을 SQL SERVER 7.0의 Money Type의 필드에 저장할때 소숫점 이하의 > ...
안재현
•
1999.11.16 21:48
김고진 wrote: > 버겁이 wrote: > > EDIT에 입력한 값을 SQL SERVER 7.0의 Money Type의 필드에 저장할때...
서언미
•
1999.11.16 02:06
1
COMMENTS
/
0
LIKES
Quick Report 에서 Preview 는 되는데 출력이안됩니다.(급함)
김영대
•
1999.11.16 03:25
서언미 wrote: > 안녕하세요. 여러분. > 간만이입니다. > > QuickReport에 데이타 set을 연결하지 않...
안경혜
•
1999.11.16 01:56
2
COMMENTS
/
0
LIKES
크리스탈에서 누계 구하는 법..
김지희
•
1999.11.16 18:51
Running Total을 말씀을 하시는군요.... 새로운 Running Total을 추가하시구요.... [Summary]에서 원하...
최수영
•
2000.02.02 18:20
저한테 레포트를 보내주시면 수정해서 보내드리겠습니다! 그것은 whileprintingrecord라는 것을 포물러...
강미나
•
1999.11.16 00:38
1
COMMENTS
/
0
LIKES
델파이5.0 설치에 대해서
류성호
•
1999.11.16 02:48
저는 델파이 4.0과 델파이 5.0을 같이 설치해서 사용하고 있습니다. 같이 사용해도 문제가 되지 않더라 구...
안장식
•
1999.11.16 00:03
2
COMMENTS
/
0
LIKES
실행화일 생성시 사이즈 변동이 생깁니다.
TeamX
•
1999.11.16 01:54
글쎄요.... 실행파일의 크기가 그렇게 변하는걸 보니........ 아무래도 프로젝트옵션의 문제인것 같은데...
안장식
•
1999.11.16 02:04
답변 감사합니다. 런타임패키지에는 확실히 체크가 되어있지 않거든요? 델파이를 새로 설치해야하는지 고...
김선학
•
1999.11.15 23:52
1
COMMENTS
/
0
LIKES
join후 필드값 수정
최수영
•
1999.11.16 18:57
김선학 wrote: > 안녕하세요. > 매번 질문만 하게 되네요. > > with datamodule do > begi...
노유승
•
1999.11.15 22:57
3
COMMENTS
/
0
LIKES
Quick Report Version Up을 했더니
노유승
•
1999.11.16 19:40
노유승 wrote: > Quick report Version 을 3.0에서 3.05로 업을 했더니 > 다른 버젼의 comctrl로 compile...
유도삼
•
1999.11.16 05:59
노유승 wrote: > Quick report Version 을 3.0에서 3.05로 업을 했더니 > 다른 버젼의 comctrl로 compile...
TeamX
•
1999.11.16 02:00
답변이 될지 모르겠습니다. 대개 비주얼씨로 만든 종류의 프로그램들을 보면 그 프로그램을 배포할때 비...
긴급
1999.11.15 22:33
0
COMMENTS
/
0
LIKES
도서대여 프로그램을 짜는 데요...
고민합니다.
•
1999.11.15 22:04
1
COMMENTS
/
0
LIKES
분류먼저 해주시길 부탁드립니다.
유도삼
•
1999.11.16 06:02
고민합니다. wrote: > 안녕하세요? > > 답변좀 부탁합니다. > > 델파이 4를 이용하고요, DB는 서버...
왕초보
•
1999.11.15 21:51
1
COMMENTS
/
0
LIKES
NT 4.0에서 BDE사용은??
갱수
•
1999.11.17 02:27
왕초보 wrote: > win98에서 BDE Setting을 하고 나면 DB를 잘 보는데.. > NT에서는 왜 안되는지 모르겠네...
김금남
•
1999.11.15 23:56
2
COMMENTS
/
0
LIKES
Edit의 overwirte모드
염재민
•
1999.11.18 18:16
김금남 wrote: > Edit박스에 입력할 때 insert모드가 되잖아요, > 그때 overwrite모드가 되게 하는 방법...
홍순용
•
1999.11.16 00:27
김금남 wrote: > Edit박스에 입력할 때 insert모드가 되잖아요, > 그때 overwrite모드가 되게 하는 방법...
김용호
1999.11.15 20:32
0
COMMENTS
/
0
LIKES
오라클 트리거
초보의 궁금증
•
1999.11.15 20:28
1
COMMENTS
/
0
LIKES
안녕하세요.. 액트브 ftp에 캐쉬된 정보 알수 있느방법 좀
김영대
•
1999.11.16 03:28
초보의 궁금증 wrote: > 안녀하세요. > 다름이 아니라 제가 패스 워드을 잊어 버려서요.. > ftp 계정을 ...
류한규
1999/11/16 03:07
Views
486
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 안녕하십니까?
> 프린터의 Spooler를 제어하는 방법을 아시는 분의
> 조언을 부탁드립니다.
> 감사합니다.
// 작성자: 발도제 (sr21@tcom.co.kr)
unit Main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, winspool, Activex;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure WM_SpoolerStatus(var Msg : TWMSPOOLERSTATUS);
message WM_SPOOLERSTATUS;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WM_SpoolerStatus(var Msg : TWMSPOOLERSTATUS);
var
i : integer;
pjobinfo : ^JOB_INFO_1;
hprinter : Thandle;
dwneeded, dwreturned : Dword;
begin
dwneeded := 0;
dwreturned := 0;
msg.Result := 0;
if (OpenPrinter('프린터 이름', hprinter, nil) = false) then;
if (EnumJobs(hprinter, 0, $FFFFFFFF, 1, nil, 0, dwneeded,
dwreturned) = false) then
begin
if (GetLastError() <> ERROR_INSUFFICIENT_BUFFER) then
begin
closeprinter(hprinter);
end;
end;
GetMem(pjobinfo, dwNeeded);
if (pjobinfo = nil) then
begin
closeprinter(hprinter);
end;
if (EnumJobs(hprinter, 0, $FFFFFFFF, 1, pjobinfo, dwneeded,
dwneeded, dwreturned) = false) then
begin
closeprinter(hprinter);
FreeMem(pjobinfo);
end;
if msg.jobsleft > 1 then
setjob(hprinter,pjobinfo^.jobid,1,pjobinfo,1);
end;
*참고....
setjob(hprinter,pjobinfo^.jobid,1,pjobinfo,1); - 프린트 일시정지
setjob(hprinter,pjobinfo^.jobid,1,pjobinfo,2); - 계속
setjob(hprinter,pjobinfo^.jobid,1,pjobinfo,3); - 취소
setjob(hprinter,pjobinfo^.jobid,1,pjobinfo,4); - 재시작
setjob(hprinter,pjobinfo^.jobid,1,pjobinfo,5); - 삭제....
프린트 스풀러를 맘대로 제어할 수 있답니다....