JAVA从所有Windows用户帐户检索所有打印机
问题描述:
有什么方法可以检索由同一台机器上的各种Windows用户帐户安装的所有打印机。JAVA从所有Windows用户帐户检索所有打印机
javax.print.PrintServiceLookup类的lookupPrintServices()方法显示可以在Windows的控制面板中以登录用户身份看到的所有打印机。
答
这将有助于
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
public class CheckInstalledPrinter {
public static void main (String [] args)
{
PrintService[] printServices = PrintServiceLookup.lookupPrintServices(null, null);
System.out.println("Total Services :: " + printServices.length);
for (PrintService printer : printServices)
System.out.println("Printer Name :: " + printer.getName());
}
}
+0
根据上述代码的执行情况,它将从控制面板返回打印机名称,而不是从安装了不同打印机的其他Windows用户帐户返回打印机名称。 – SadurdinaG
你为什么要这么做? –
用户从服务器中选择打印机并将文档发送到该打印机进行打印。服务器有两个用户帐户(用户A和用户B)。现在用户A只能看到他的打印机,B只能看到他的打印机。有没有什么办法在Java中检索由用户A和B安装的打印机 – SadurdinaG
@SadurdinaGAP您现在突然谈论*服务器*上的打印机,但您的问题是关于您本地*机器上注册/配置的打印机。 – Andreas