Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
622 views
in Technique[技术] by (71.8m points)

winapi - lpr command not working from my C# program in Win 7

I have program that sends a file to a printer using 'lpr' command. I have installed Windows SDK 7.1. It is working fine in a 32 bit Windows 7 system but not working in 64 bit Windows 7.

            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();

It throws an execption.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

I finally got the answer to my question.

Step1: I had to enable "LPR Port Monitor". This can be done through "Control Panel/Programs and Features/Turn Windows features on or off". In the dialog expand "Print and Document Services." Check "LPR Port Monitor."

Step2: When you install Windows SDK 7.1. It will copy lpr.exe and related files into "C:Windowswinsxsamd64_microsoft-windows-p..ting-lprportmonitor_xxxx...". Copy the files lpr.exe, lprhelp.dll, and lprmonui.dll into the C:WindowssysWOW64 folder.

Thats it!!!

Reference: http://www.tomshardware.com/forum/240019-44-error-windows


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...