问题标签 [spooler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
313 浏览

visual-studio-2010 - VS2010 安装项目,禁用应用程序/服务重新启动/关闭警告

我已经用谷歌搜索这个问题很长一段时间了,但没有任何成功。基本上我所做的是创建一个 VS2010 安装项目,该项目有一些自定义操作,通过 p/invokes 与后台处理程序服务交互,添加监视器、端口、打印机 yada yada。

当然,为了能够做到这一点,spooler 服务必须正在运行,并且在安装过程中的某个时间点也重新启动,但是 msi 文件似乎能够确定我正在使用 Spooler 服务,并且有时会提示用户/管理员在安装开始之前关闭 spooler 服务,这当然会导致整个安装失败。

是否可以以某种方式禁用这些警告?

提前致谢

0 投票
1 回答
2372 浏览

c# - 在 C# 中计算打印页数

我正在开发一个打印假脱机监视器来计算某个打印机打印的页数。

我是这个领域的新手,所以我使用以下文章作为参考。

打印监视器

现在我需要分别计算双面页面(双面)和单面页面。我怎样才能检测到这个?

0 投票
1 回答
11670 浏览

c# - 在不使用互操作/非托管代码的情况下监控打印假脱机

背景:

我正在使用 .NET 4.0 在 C# 中编写应用程序。它以一定的顺序打印一堆文档。这些文档是所有不同类型的,实际上是使用带有“打印”动词的 ShellExecute 打印的。

为确保订单不会混乱,我想检查所涉及打印机的打印队列。我的主循环看起来像:

  1. 在文档上调用“打印”操作
  2. 等待文档出现在打印队列中
  3. 重复直到完成

如何使用托管代码监控打印队列?

我发现了一些使用非托管调用做类似事情的好例子(比如:http: //blogs.msdn.com/b/martijnh/archive/2009/08/05/printmonitor-ac-print-spooler-monitor.aspx)。另外,我知道如何查看 c:\windows\system32\spool... 下的假脱机文件并以这种方式解决问题。

但是,这些解决方案都不是很令人满意......我打电话给大量非托管鳕鱼,我觉得我应该只用 C++ 编写应用程序。(并且没有 .NET 依赖项/开销。)

主要问题:真的没有办法只使用托管调用来监控打印队列吗?

更一般的问题:我来自 java 世界,通常只在我想做一些特定于操作系统的事情或需要与 MS 世界中的其他事物交互的事情时才使用 .NET 语言。(例如 SSIS 组件。)

似乎每次我开始一个项目时,我都会陷入同样的​​混乱:对本机函数、COM 内容等的各种调用。

第二个问题:关于 .NET 理念或实现,我是否遗漏了什么?(我只是没有足够努力地让托管库做事吗?对于需要执行 Windows 特定操作(例如操作打印队列)的任何事情,.NET 是错误的选择吗?) 我明白(或认为我明白).NET 是理论上应该是独立于操作系统的……但大多数现代操作系统肯定都有打印机和打印队列之类的东西。(因此,如果您对做这些事情有通用调用,它们可以在每个平台的框架版本上实现..)

0 投票
1 回答
828 浏览

python - 使用 pyinotify 在目录中创建假脱机的最佳方法是什么?

我试图在创建目录时将目录中的每个文件移动到另一个文件。也许我可以干净地停止守护进程(pyinotify 实例运行),并继续在 orig/spool 目录中创建原始文件。

我想在守护进程再次启动后进行处理。也许我可以利用 inotify 内核队列?

提前致谢

0 投票
1 回答
1222 浏览

printing - 虚拟打印机端口监视器安装

我有一个端口监视器 dll,我通过调用 spooler 的 AddMonitor 函数来安装它。但是当我想卸载此监视器时,DeleteMonitor 函数返回错误代码 3008 -“指定的打印监视器当前正在使用中”。如何释放我的监视器 dll?

0 投票
2 回答
3282 浏览

c# - Microsoft Print Spooler API - 保留打印作业?

有谁知道是否可以在 Microsoft Print Spooler API的帮助下进行打印作业?

我想在它被发送到打印机之前保留它。
这可能吗?

0 投票
0 回答
1353 浏览

windows-7 - 从 windows 7 发送打印到 windows XP 的打印机更改了假脱机文件的格式

我有这个奇怪的问题

我在 Windows XP 上安装了一台打印机,我像这样“winprint---> NT EMF 1.003”配置了打印处理器

所以 .spl 文件是一个 EMF 格式文件。

现在我将这台打印机共享到我的办公室局域网。

当我从另一台 Windows XP 电脑发送打印时没有问题。

当我从 Windows 7 电脑发送时,.spl 文件是 pcl3 格式。为什么?

我尝试用两种方法将这台打印机安装到 Windows 7 电脑上。

a) 添加打印机--> 网络打印机或连接到另一台计算机的打印机。在这种情况下,当我打印时,.spl 文件仅在 Windows XP 机器中以 pcl3 格式创建。

b) 添加打印机--> 连接到计算机的本地打印机。然后我创建一个新的本地端口,即共享打印机的网络路径。在这种情况下,当我打印时,在 windows 7 中创建了一个 .spl 文件,即 EMF 格式!!!!!!,在 windows XP 中创建另一个文件,即 pcl3 格式。

为什么会这样?当我从 Windows 7 打印到共享打印机时,我想在 Windows XP 中创建一个 emf 格式的 .spl 文件。

0 投票
2 回答
4656 浏览

c# - 我可以重新打印假脱机文件吗?

有没有办法重新打印假脱机文件?

我找不到任何例子或文章来说明是否有办法。

编辑:当我说重印时,我指的是同一台打印机

0 投票
0 回答
2830 浏览

windows - ResetDC() 什么都不做(用于 Windows 的打印后台处理程序 API)

我已经为Windows 的 print spooler APIs编写了包装类,这些类主要工作......

唯一不起作用的是应用打印机设置

首先,我调用DocumentProperties()以成功获取和使用打印机设置。

然后我尝试使用ResetDC()应用这些设置,但没有任何反应。该函数接受一个有效句柄,并返回相同的有效句柄,这意味着它应该已经应用了设置。但是,似乎什么也没发生:打印输出不受打印机设置更改的影响。

我什至尝试将SetPrinter()level 9一起使用,但也没有效果。

这项任务变得相当紧迫。有什么建议么?

使用 Delphi XE2,Windows 7 64 位。


好的,跳过所有大型 OO 包装器。这是一个精简的程序版本。(请注意,您必须为其提供 XPS 文件。)

正在应用打印机设置更改(使用 Info2_Apply() 时)并且可以在 MS Word 中看到。他们只是在打印时被忽略。这就是奥秘。

我已经尝试了很多东西,以至于我已经没有选择了。帮助将......非常感谢。


我终于没有选择了。

这是我的测试代码的最后一个版本。它是自给自足的,包含的功能比你需要的多——这是拼命尝试我能想到的任何东西的结果。

如果其他人可以使打印机设置正常工作,请告诉我吗?

使用打印机名称填充组合框:

打印程序(我的测试代码):

0 投票
1 回答
7320 浏览

printing - 带有 .tmp 扩展名的假脱机文件的文件格式?

在许多 Windows 设置中,当您直接打印到打印机时,通常会在 Windows 假脱机目录“C:\Windows\System32\spool\PRINTERS”中创建两个文件。假脱机文件“80021.SPL”和影子文件“80021.SHD”是这些文件的示例。假脱机文件包含绘图指令的肉和土豆,因此打印机可以打印页面。根据语言技术和使用的打印驱动程序,此假脱机文件中的数据采用不同格式的大杂烩。但是,当您打印到打印服务器上的打印机时,会创建一个“.TMP”文件并将其传输到打印服务器。我认为可以公平地假设这只是将 .SHD 和 .SPL 文件组合成一个传输文件以将其发送到服务器。但是,它不可读,我 m n 确定它是压缩的、加密的还是什么,但我无法破译它。打印 PDF 时,您通常可以在假脱机文件 (.SPL) 中看到纯文本 PostScript 指令,只需将其打开并在文本编辑器中查看即可。您甚至可以将该假脱机文件 (.SPL) 发送到像 GhostScript 这样的 postscript 查看器,并让它显示在屏幕上绘制的页面。但是当工作全部打包在一个 .TMP 文件中时,它基本上只是一堆二进制文件。 有谁知道如何从这些传输 .TMP 假脱机文件中解压缩数据?