2012-05-10 14 views
3

'lpr'コマンドを使用してファイルをプリンタに送信するプログラムがあります。 Windows SDK 7.1をインストールしました。 32ビットWindows 7システムで正常に動作していますが、64ビットWindows 7では動作しません。Windows 7のC#プログラムからlprコマンドが機能しない

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

実行をスローします。

+0

「機能しない」とはどういう意味ですか? – josephthomas

+0

'lpr'コマンドが 'proc.Start()'行に見つかりませんでした。例外がスローされました – Sundeep

答えて

7

私はついに私の質問に答えました。

ステップ1: "LPRポートモニタ"を有効にする必要がありました。これは、「コントロールパネル/プログラムと機能/ Windowsの機能をオンまたはオフにする」によって実行できます。ダイアログで「印刷とドキュメントサービス」を展開します。 「LPR Port Monitor」をチェックしてください。

ステップ2: Windows SDK 7.1をインストールするとき。 lpr.exeと関連するファイルを "C:¥Windows¥winsxs¥amd64_microsoft-windows-p..ting-lprportmonitor_xxxx ..."にコピーします。 lpr.exe、lprhelp.dll、およびlprmonui.dllファイルをC:\ Windows \ sysWOW64フォルダにコピーします。

Thats it !!!

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

+0

偉大な答え私はServer 2008 R2を実行しているWebサーバーを使ってしばらくこのことに取り掛かりました。すべてのlpr ...ファイルをC:\ Windows \ System32からC:\ Windows \ SysWOW64にコピーし、アプリケーションがlpr.exeを正常にロードしました! – Baxter