2012-05-10 1 views
3

J'ai un programme qui envoie un fichier à une imprimante en utilisant la commande 'lpr'. J'ai installé Windows SDK 7.1. Il fonctionne très bien dans un système 32 bits de Windows 7, mais ne fonctionne pas dans 64 bits de Windows 7.La commande lpr ne fonctionne pas à partir de mon programme C# dans Win 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(); 

Il jette un Execption.

+0

Comment est-il "ne fonctionne pas"? – josephthomas

+0

Il déclenche une exception indiquant que la commande 'lpr' est introuvable sur la ligne 'proc.Start()' – Sundeep

Répondre

7

J'ai enfin trouvé la réponse à ma question.

Etape 1: Je devais activer "LPR Port Monitor". Cela peut être fait via "Panneau de configuration/Programmes et fonctionnalités/Activer ou désactiver des fonctionnalités Windows". Dans la boîte de dialogue, développez "Services d'impression et de documents". Vérifiez "Moniteur de port LPR". Étape 1: Lorsque vous installez Windows SDK 7.1. Il va copier lpr.exe et les fichiers connexes dans "C: \ Windows \ winsxs \ amd64_microsoft-windows-p..ting-lprportmonitor_xxxx ...". Copiez les fichiers lpr.exe, lprhelp.dll et lprmonui.dll dans le dossier C: \ Windows \ sysWOW64.

C'est bien ça !!!

Référence: http://www.tomshardware.com/forum/240019-44-error-windows

+0

Bonne réponse J'ai été bloqué pendant un moment avec un serveur Web exécutant Server 2008 R2. Copié tous les fichiers lpr ... de: C: \ Windows \ System32 à C: \ Windows \ SysWOW64 et mon application chargée avec succès lpr.exe! – Baxter

Questions connexes