2011-10-26 2 views
3

印刷ジョブのファイルアドレスを取得したいのですが、JOB_INFO_2レコードに情報があります。 "DocumentName"という名前のフィールドがありますが、ドキュメント "ファイル名"ではありません。そのウィンドウのジャンクションが印刷要求を送信しました印刷ジョブのDocumnet名(ファイルアドレス)を取得するにはどうすればよいですか?

ジョブのファイル名/アドレスを取得することは可能ですか?

"DocumentName"のウィンドウハンドルを取得し、次にHandleのファイル名(プロセス名)を取得することは可能ですが、ドキュメントファイル名はどのように取得できますか?

は、例えば:私たちは、MS-Wordのexeファイルのアドレスを取得することができ、上記の溶液を用いて、DOCファイルの勝利MS-Wordを開いているが、私はDOCファイルのファイル名/アドレスを取得したい

さらに、ドキュメントが画像の場合、キャプションはありません!

答えて

5

必ずしもそのようなものはありません。最初にディスクに保存することなく、あらゆる種類のものを印刷することができるので、ファイル名がない可能性があります。そして、たとえファイルがあっても、ファイルがプリンタに送られたものと必ずしも一致するとは限りません。人々は、変更を最初に保存せずに常に印刷します。

あなたが読んでいると思われるほとんどのフィールドはの情報フィールドです。印刷アプリケーションは、印刷ジョブを実行する必要がないため、印刷アプリケーションはそれらを提供する必要はなく、実行すると正確である必要はありません。彼らは、印刷マネージャーが何が起こっているのかを知ることができるのを見て、ユーザーに持っていいだけです。

+0

これは答えではありません。印刷ジョブ名は、プリンタとは異なるデバイスに出力をリダイレクトするときに必要ですが、印刷スプールを使用します。例:PDFCreator。 – celerno

+0

例は十分ではありません@Celerno。私はあなたのポイントを得るために単なる単語以上のものが必要です。もっと説明してください。プログラムは、印刷するファイル名を提供する義務がありません。仮想プリンタはファイル名の受信を期待できません。印刷ジョブの名前は必ずしもファイルの名前ではなく、ディスク上の実際のファイルを参照する必要はありません。私はその前提に欠陥があるので、それがどのように答えられないのかを説明することによって、その質問に答えました。必要に応じて、別の回答を提供することは大歓迎です。 –

関連する問題