gpt4 book ai didi

java - Windows 10 中未返回默认打印机

转载 作者:搜寻专家 更新时间:2023-11-01 03:19:15 24 4
gpt4 key购买 nike

我已经将我的 Windows 环境从 8 更新到 10,发现没有返回默认打印机,而是返回了另一台打印机。

我已经关闭了“让 windows 管理我的默认打印机”设置,但仍然没有获得默认打印机。

我有以下代码:

 private void testPrinter() {
PrintService[] array = PrintServiceLookup.lookupPrintServices(null, null);
for(PrintService ps : array){
System.out.println(ps.getName());
}

}

在这个测试中,我得到如下打印机列表:

  • 发送到一个笔记

  • Microsoft XPS 文档编写器

  • 惠普打印机

  • Epson 打印机(我在 Windows 中设置为默认打印机)

但是,在下面的测试中:

 PrintService ps = PrintServiceLookup.lookupDefaultPrintService();
System.out.println(ps.getName());

我得到的是 HP 打印机,它不是我的默认打印机!!!无论我默认选择哪台打印机,HP 打印机总是返回

我查看了 lookupDefaultPrintService 方法的 java API,它说了以下内容:

Locates the default print service for this environment. This may return null. If multiple lookup services each specify a default, the chosen service is not precisely defined, but a platform native service, rather than an installed service, is usually returned as the default. If there is no clearly identifiable platform native default print service, the default is the first to be located in an implementation-dependent manner.

This may include making use of any preferences API that is available as part of the Java or native platform. This algorithm may be overridden by a user setting the property javax.print.defaultPrinter. A service specified must be discovered to be valid and currently available to be returned as the default.

在 Windows 8 中,返回默认打印机没有问题。更新后我遇到了这个问题。我该如何解决这个问题?

最佳答案

正如本 guide 中所指出的, Windows 10 会在您每次打印时重新配置您的默认打印机,将默认设置为上次使用的设备。您必须更改此设置。

编辑:您也可以尝试通过注册表 (regedit.exe) 直接禁用该功能,搜索所有 LegacyDefaultPrinterMode DWORD 实例并将它们设置为 1(关闭)。通常主实例在这里:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows

关于java - Windows 10 中未返回默认打印机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35958538/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com