如何删除系统默认打印机表单?

mat*_*kie 12 windows printing

在 Windows 上,存在无法从“打印服务器属性”对话框中删除的系统默认打印机表单。有没有其他方法可以去除它们?我们永远不会使用信封、B5(JIS)、US Std Fanfold 等页面大小,我想让用户(和我自己!)不必滚动浏览一大堆噪音。

打印服务器属性框有一个无法使用的删除按钮

如果这有什么不同,我们的打印服务器是 Windows Server 2003。

Dan*_*Dan 5

我的第一个想法是看看这是否可以通过使用 Windows API 来完成,但是根据这个关于 Win32 打印机表单 API 的网站,甚至不可能以编程方式删除系统表单:

不能在内置表单上使用 DeleteForm():它因 ERROR_INVALID_PARAMETER 而失败。

我的第二个想法是找到一个相对唯一的表单名称,例如US Std Fanfold并搜索整个注册表。令人惊讶的是,入口作物在相当多的地方。因此,我的建议是构建一个空白的 32 位机器(32 位以避免与影子键混淆)并使用其中一些键进入城镇。如果你让它工作,它应该很容易转移到你需要这样做的任何地方。

但是,不得不说,鉴于 Microsoft 显然不希望您这样做,您正在为支持和兼容性问题敞开心扉。


The*_*ner 1

在打印服务器本身上,表单位于注册表中:

HKLM\系统\CurrentControlSet\Control\Print\Forms

(注意:我自己从未删除过表单,因此在删除和测试结果之前我会先备份密钥)。