Вопрос по c#, lpr, winapi – Команда lpr не работает из моей программы на C # в Win 7

5

У меня есть программа, которая отправляет файл на принтер, используя «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>

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

Выдает исключение, говорящее «lpr» команда не найдена в строке "proc.Start ()" Sundeep
Как это "не работает"? josephthomas

Ваш Ответ

1   ответ
9

Шаг 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

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

Похожие вопросы