2016-08-29 44 views
1

キューに入れられたプリンタドキュメントを表示するときに表示される「所有者」の名前を変更できるかどうかを知りたい。私は、ユーザーからドキュメントを受け取り、Windowsプリンタに送信するWindowsサービスを持っています。所有者は、常に、サービスが実行されているワークステーションにログインしているユーザーの名前です。私は "所有者"を何かに変更したいと思います。これは、Windowsサービスがロードして使用するC++のWindows DLLで行われます。C++印刷キューの所有者を変更する

9 @を追加しました8月30日/ 16:14am ET

の提案のおかげで、トーマス。私は私の研究について言及すべきだったが、それは長くて空だった。 MSDNには、4つの構造のうちの1つを取ることができるSetJob関数があります(pJob = JOB_INFO_1 ... JOB_INFO_4)。 JOB_INFO_1,2、および4には、印刷ジョブの所有者(Owner?)の変更に使用できるLPSTR pUserNameがあります。ただし、SetJobの備考セクションには次のように書かれています。 "JobJd、pPrinterName、pMachineName、pUserName、pDrivername、Size、Submitted、Time、およびSetJobの呼び出しで、JOB_INFO_1、JOB_INFO_2、またはJOB_INFO_4構造体の次のメンバーは無視されます。合計ページ数」

JOB_INFO_3にはこのフィールドはありません。ニース。

これを行う可能性のある他の機能はありませんでした。私はもっ​​と具体的なものを指摘できますか?それはうまくいくとわかっていますか?ありがとう。

+0

検索First。 "msdn C++ change print queue owner"を検索します。 –

答えて

2

MSDNがこれらのフィールドが無視される理由がわかりません。 JOB_INFO_1でSetJobを使用してpUserName、pDocument、pStatusを変更すると、完全に動作します。 Positionを必ずJOB_POSITION_UNSPECIFIEDに設定してください。

関連する問題