Команда lpr не работает из моей программы на C # в Win 7

У меня есть программа, которая отправляет файл на принтер, используя «lpr». команда. Я установил Windows SDK 7.1. Он работает нормально в 32-битной системе Windows 7, но не работает в 64-битной Windows 7.

<code>            Process proc = new Process();
            proc.StartInfo.FileName = "lpr";
            proc.StartInfo.WorkingDirectory = GlobalConstants.outBaseDir;
            proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
            proc.StartInfo.Arguments = " -S " + GlobalConstants.printerIP + " -P RAW " + filePath;
            proc.Start();
</code>

Это бросает исключение.

 josephthomas11 мая 2012 г., 00:30
Как это "не работает"?
 Sundeep11 мая 2012 г., 01:06
Выдает исключение, говорящее «lpr» команда не найдена в строке "proc.Start ()"

Ответы на вопрос(1)

Решение Вопроса

Шаг 1: Мне пришлось включить «Монитор портов LPR». Это можно сделать через & quot; Панель управления / Программы и компоненты / Включить или отключить функции Windows & quot ;. В диалоговом окне разверните & quot; Службы печати и документов. & Quot; Проверьте & quot; LPR Port Monitor. & Quot;

Шаг 2: При установке Windows SDK 7.1. Он скопирует lpr.exe и связанные файлы в & quot; C: \ Windows \ winsxs \ amd64_microsoft-windows-p..ting-lprportmonitor_xxxx ... & quot; Скопируйте файлы lpr.exe, lprhelp.dll и lprmonui.dll в папку C: \ Windows \ sysWOW64.

Это оно!!!

Ссылка:http://www.tomshardware.com/forum/240019-44-error-windows

 26 авг. 2014 г., 19:01
Отличный ответ Я застрял на этом некоторое время с веб-сервером под управлением Server 2008 R2. Скопировал все файлы lpr ... из: C: \ Windows \ System32 в C: \ Windows \ SysWOW64, и мое приложение успешно загрузило lpr.exe!

Ваш ответ на вопрос