我需要按特定顺序打印文档。为此,我使用 shellExecute api 打印文档。
有些文档打印起来可能更快,所以我必须等待文档进入后台处理程序,然后再调用另一个 shellExecute。
为此,我使用 FindFirstPrinterChangeNotification、waitForSingleObject 和 FindNextPrinterChangeNotification。
它工作正常。但是,如果由 shellExecute 启动的应用程序已经打开,则它可能会在 Windows 默认打印机的另一台打印机上打印。(如果默认打印机已更改)
我可以观看所有打印机,但是,我更想知道哪个打印机使用启动的过程并观看这台打印机。
使用 shellExecuteEx,我可以得到这个 api 启动的进程的句柄。
那么,有没有办法知道进程默认使用的打印机?