我公司有一台winnt server,控制无数远程打印机,用循环的方式进行打印(一次打印N多东西)。可是如果某台打印机坏了(或者出了什么问题)。windows就会弹出一个对话框来警告并暂停打印进程。每次都要手动的点击OK按钮让打印继续进行。
问题是打印是系统发送的,所以通常打印时没有人看护系统,所以我老板让我想个办法来每次自动点击那个OK按钮(因为据他说似乎不能配置系统来忽略这个打印错误)。
看起来的解决方案很奇怪,就是写个后台service来进行判断。可是怎么判断?用句柄吗?另外怎么发送消息来点击那个OK按钮啊?我不是特别懂windows
问题是打印是系统发送的,所以通常打印时没有人看护系统,所以我老板让我想个办法来每次自动点击那个OK按钮(因为据他说似乎不能配置系统来忽略这个打印错误)。
看起来的解决方案很奇怪,就是写个后台service来进行判断。可是怎么判断?用句柄吗?另外怎么发送消息来点击那个OK按钮啊?我不是特别懂windows
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Const BM_CLICK = &HF5
const ts="提示框名"
const an ="按钮名"Private Sub Timer1_Timer()
pk = FindWindow(vbNullString, ts)
pp = FindWindowEx(pk, ByVal 0&, "Button", an)
SendMessage pp, BM_CLICK, 0, 0
End Sub
hot1kang1(许仙)
高人!留个QQ吧!
俺是99783345
我以前和同事写过类似的打印任务管理的代码。。也会碰到这种情况~~~~~~~~
所以就想到自己管理打印任务,,,先检查打印机的状态,没有异常才送出打印任务~~~~这样就不会有错当然也不可能排除卡纸的现象,但是这个是不能人为知道的嘛
我以前和同事写过类似的打印任务管理的代码。。也会碰到这种情况~~~~~~~~
所以就想到自己管理打印任务,,,先检查打印机的状态,没有异常才送出打印任务~~~~这样就不会有错当然也不可能排除卡纸的现象,但是这个是不能人为知道的嘛