#java #windows #api #user-accounts #printers
#java #Windows #API #учетные записи пользователей #принтеры
Вопрос:
Есть ли какой-либо способ получить все принтеры, установленные различными учетными записями пользователей Windows на одном компьютере.
Метод lookupPrintServices() javax.print.Класс PrintServiceLookup отображает все принтеры, которые можно увидеть на панели управления в Windows для вошедшего в систему пользователя.
Комментарии:
1. Почему вы хотите это сделать?
2. пользователь выбирает принтер с сервера и отправляет документ на этот принтер для печати. На сервере есть две учетные записи пользователей (пользователь A и пользователь B). Теперь пользователь A может видеть только свои принтеры, а B может видеть только свои принтеры. Есть ли какой-либо способ в java, который извлекает принтеры, установленные обоими пользователями A и B
3. @SadurdinaGAP Теперь вы внезапно говорите о принтерах на сервере , но ваш вопрос касается зарегистрированных / настроенных принтеров на вашем локальном компьютере.
4. Это больше похоже на проблему установки Windows.
Ответ №1:
Это поможет
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());
}
}
Комментарии:
1. Согласно моему выполнению приведенного выше кода, он возвращает имена принтеров из панели управления, а не из другой учетной записи пользователя Windows, которая установила разные принтеры.