Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为Windows开发自定义打印机驱动程序_Windows_Printing_Driver_Print Spooler Api - Fatal编程技术网

为Windows开发自定义打印机驱动程序

为Windows开发自定义打印机驱动程序,windows,printing,driver,print-spooler-api,Windows,Printing,Driver,Print Spooler Api,为了满足软件的需要,我需要创建一个打印机驱动程序,该驱动程序允许我将发送给它的所有图像保存到文件中,然后打开程序窗口,让用户对呈现的页面进行处理。 我已经找到了,但是示例使用了文件:端口,而我需要创建自己的端口,将图像转储到文件并运行可执行文件。然而,我认为我可以通过在驱动程序代码中这样做来完成我的任务,但我不确定这是否是一个好的决定,因为它是一个驱动程序,即使它是一个用户模式驱动程序。 我很乐意听到关于我问题的任何建议。提前谢谢 您需要的是端口监视器,而不是驱动程序。请参阅我的答案,您可以使用

为了满足软件的需要,我需要创建一个打印机驱动程序,该驱动程序允许我将发送给它的所有图像保存到文件中,然后打开程序窗口,让用户对呈现的页面进行处理。
我已经找到了,但是示例使用了
文件:
端口,而我需要创建自己的端口,将图像转储到文件并运行可执行文件。然而,我认为我可以通过在驱动程序代码中这样做来完成我的任务,但我不确定这是否是一个好的决定,因为它是一个驱动程序,即使它是一个用户模式驱动程序。

我很乐意听到关于我问题的任何建议。提前谢谢

您需要的是端口监视器,而不是驱动程序。请参阅我的答案,您可以使用RedMon,但我建议改用WDK中的示例端口监视器。

如果您同意使用XPS作为格式,则可以使用Github项目:Microsoft/Windows驱动程序示例/print/XPSDRVMPL

安装程序:

应用:监听内部端口


流程:从单个安装程序安装打印机和应用程序。当应用程序监听内部端口时,用户用驱动程序打印一些内容。当数据发送时,应用程序会将其拾取。这是用于XPS的,可以转换为PDF,但无论打印什么,流程都是类似的。如果您还需要其他信息,请查看GitHub上的Microsoft/Windows驱动程序示例/print/或其他特定于您需要的信息源。

@Hi Ogglas,我需要更改普通Windows打印队列的spool文件头,您能否说明如何实现这一点?提前谢谢。嗨@Cracker,你在这个问题上的情况如何?我正需要这台打印机,到目前为止还找不到地方。你能帮我吗?