再来一个问题,也是API问题,100分送给你!(100分)

  • 主题发起人 主题发起人 netwinds
  • 开始时间 开始时间
N

netwinds

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在用其它程序调用word来打印一个word文档到文件上(注意,是文件,不是到打印机)<br>,用ShellExecute来处理,我要在确定word已经打印完成(已经生成打印文件)之后再继续<br>下一步的操作。<br><br>现在:我要怎么样才能做到这一点呢?一定要在打印完再继续操作的。<br>注:判断打印文件是否存在不行,因为一开始打印后,文件就存在,但不表示它已经打印<br>完成的。
 
判断打印是否完成以及是否因为故障中断,你可以检测打印缓冲池里的打印任务数:<br>发送消息WM_SPOOLERSTATUS,Label1的标题显示任务数目 .<br><br>private<br>&nbsp; &nbsp; { Private declarations }<br>&nbsp; &nbsp; procedure WM_SpoolerStatus(var Msg : TWMSPOOLERSTATUS);<br>&nbsp; &nbsp; &nbsp; message WM_SPOOLERSTATUS;<br><br>procedure TForm1.WM_SpoolerStatus(var Msg : TWMSPOOLERSTATUS);<br>begin<br>&nbsp; Label1.Caption := IntToStr(msg.JobsLeft) +<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; '个打印任务';<br>&nbsp; msg.Result := 0;<br>end; <br>
 
怎么调用呢?参数传入哪个?<br><br>如果我列表中有好多个任务,我只想知道我想要的那一个是否完成就可,那要怎么办呢?
 
不要使用ShellExecute,改用OLE技术。
 
能否具体给个例子?谢谢!!!!!!!
 
怎么没人来回答我啊?????
 
你的打印到文件是生成 bmp 文件吗?
 
可以这么说
 
如果打开程序是自己做的,可以用同步处理。
 
我自己搞定了,但还是谢谢大家,给你们分吧
 
后退
顶部