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

在Windows上,系统默认的打印机表单不能从“打印服务器属性”对话框中删除。 有没有其他方式可以删除? 我们永远不会使用像Envelope,B5(JIS),US Std Fanfold等页面大小,而且我想让用户(和我自己!)不必滚动一大串噪音。

打印服务器属性框有一个不可用的删除按钮

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

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

    不能在内build表单上使用DeleteForm():使用ERROR_INVALID_PARAMETER失败。

    我的第二个想法是find一个相对独特的表单名称,例如US Std Fanfold并search整个registry。 令人惊讶的是,在相当多的地方进入农作物。 因此,我的build议是build立一个空白的32位机器(32位,以避免与阴影键混淆),并在某些键上去镇上。 如果你得到它的工作,它应该很容易转移到任何你需要做到这一点。

    但是,不得不说,微软显然不希望你这样做,你正在开放自己的支持和兼容性问题。

    标准的纸张forms是打印机驱动程序的一部分,只能从相应的文件手动删除。

    这里是我如何做到这一点的指导:

    1.以pipe理员身份打开CMD。

    2.input“printui / s / t2”(不带引号)

    3.在操作窗口中,select要删除纸张表格的打印机,然后单击底部的属性。

    4.在浏览器中查找列出的文件(可能是C:\ Windows \ System32 \ spool \ drivers \ x64 \ 3)

    5.制作所有这些文件的备份副本(例如在桌面上的文件夹中)

    6.用编辑器打开每个原始文件(一次一个)。 如果它包含可读代码,请按Ctrl + F(打开search),然后input一个应该删除的显着名称的纸张表格(例如Postcard,Legal,Letter …)。如果找不到任何search词,closures文件而不保存,并尝试下一个文件。 (在我的情况下,我发现他们在扩展名为“.gpd”和“.inx”为物理打印机的文件中,“.PPD”为我的PDF-Creator)

    7.find一个条目:应该有一个段落,列出所有纸张表格的代码块。 一些例子:

      [JAPANESE_POSTCARD] MediaType=8.1055 InputBin=7 

    要么

      *Option: JAPANESE_POSTCARD_90x90x50x95 { *Name: "" } 

    要么

      *Option: JAPANESE_POSTCARD { *rcNameID: =RCID_DMPAPER_SYSTEM_NAME *Constraints: LIST(Duplex.VERTICAL, Duplex.HORIZONTAL) *Constraints: InputBin.4 *PageDimensions: PAIR(4724, 6992) *PrintableArea: PAIR(4412, 6680) *PrintableOrigin: PAIR(156, 156) *switch: Orientation { *case: PORTRAIT { *CursorOrigin: PAIR(156, 156) } *case: LANDSCAPE_CC270 { *CursorOrigin: PAIR(4568, 156) } } *Command: CmdSelect { *CallbackID: 0x00470002 *Order: DOC_SETUP.2 } *Command: CmdSelect { *CallbackID: 0x00470002 *Order: PAGE_SETUP.2 } } 

    删除所有不需要的纸张forms的所有这些块。 最有可能有多个段落包含相似的块,所以继续search文件并重复,直到找不到。 然后保存并closures文件。

    8.每更换一个文件后,打开任何文件(例如Word,Excel …),并检查不需要的纸张表格是否仍列在打印机的打印属性中。

    如果仍然存在:回到步骤6,search下一个文件。

    如果不是,恭喜! (回到步骤3,如果有更多的打印机摆脱不需要的forms)。

    如果有任何问题:用备份覆盖上次编辑的文件。 (也许你犯了一个错误,所以再试一次)

    希望这可以帮助。 干杯!

    启动“打印pipe理”进程(printmanagement.msc)。

    在“打印服务器/表单”下,可以删除打印机表单,但不能删除内置表单。

    我还没有find一种方法来删除内置的表单,我也不想看到下拉列表中的所有“噪音”。

    在打印服务器上,表单位于registry中:

    HKLM \系统\ CurrentControlSet \控制\打印\forms

    (注意:我从来没有从这里删除表单,所以我会在删除和testing结果之前先对这个键进行备份)。