2012-02-10 2 views
0

Программа WinForms Я разработал отличные отпечатки и, как ожидалось, при работе в качестве интерактивного пользователя. Используя ту же учетную запись, но в качестве запланированной задачи, процесс будет работать правильно, однако он печатает часть вывода в неправильном шрифте.Пакетный процесс не печатает с правильным шрифтом

Программа - принтер для этикеток, который печатает обновленные метки цен. У него есть опция (-s), которую вызывает планировщик заданий, который не представляет графический интерфейс пользователя, но выполняет обновление и печать. Выполнение этого как интерактивного пользователя с помощью запуска работает правильно (т. Е. Используется правильный шрифт).

Любые подсказки относительно того, что здесь происходит? Шрифт, который неправильно печатается, является нестандартным системным шрифтом.

Это работает на сервере, и я думал, что это может быть из-за перенаправления принтера, но я сделал консольный вход в систему, и он отлично работал как интерактивный процесс на консоли, так же как и интерактивный через удаленный рабочий стол.

+0

Выполнение чего-либо в качестве запланированной задачи не означает, что оно не работает в интерактивном режиме. –

ответ

0

Интересная проблема. Предположительно, Windows не загружает шрифты в неинтерактивные сеансы входа в систему, чтобы сохранить ресурсы.

См. this answer для одного подхода, используя инструмент ps, чтобы создать интерактивный сеанс при выполнении задачи.

0

У меня была очень похожая проблема для вас (запуск приложения через запланированную задачу будет использовать шрифт по умолчанию, но при запуске локально он найдет пользовательский шрифт, который я установил), и я нашел решение; На сервере 2008 существует проблема, когда пользовательские шрифты не регистрируются сразу после установки для неинтерактивных пользователей, тогда как обычные пользователи (т. Е. При запуске на самом пользователе, подключенном к компьютеру) имеют сразу зарегистрированный шрифт.

Решение, которое сработало для меня, состояло в том, чтобы просто перезагрузить машину, на которой был установлен шрифт, и шрифт начал работать под неинтерактивными учетными записями, например, когда компьютер включен, он регистрируется правильно. Кажется, у установки шрифта есть ошибка, где он неправильно регистрирует шрифт для неинтерактивных пользователей до перезагрузки.