問題タブ [spooler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
313 参照

visual-studio-2010 - VS2010セットアッププロジェクト、アプリケーション/サービスの再起動/シャットダウンの警告を無効にする

私はかなり長い間この問題をグーゲル化してきましたが、成功しませんでした。基本的に私が行ったことは、VS2010セットアッププロジェクトを作成することです。プロジェクトには、p / invokeを介してスプーラーサービスと対話し、モニター、ポート、プリンターを追加するカスタムアクションがいくつかあります。

もちろん、これを実行するには、スプーラーサービスが実行されている必要があり、インストール中のある時点で再起動する必要がありますが、msiファイルは、私がスプーラーサービスを使用していることを認識できるようで、ユーザーにヒントを与えることがあります。管理者がインストールを開始する前にスプーラサービスをシャットダウンすると、もちろんインストール全体が失敗します。

これらの警告を無効にすることは何らかの方法で可能ですか?

前もって感謝します

0 投票する
1 に答える
2372 参照

c# - C#で印刷されたページ数を数える

特定のプリンターで印刷されたページ数をカウントする印刷スプールモニターを開発しています。

私はこの分野に不慣れなので、次の記事を参考にしています。

プリントモニター

今、両面ページ(両面)と片面ページを別々に数える必要があります。どうすればこれを検出できますか?

0 投票する
1 に答える
11670 参照

c# - 相互運用/アンマネージ コードを使用しない印刷スプールの監視

バックグラウンド:

.NET 4.0 を使用して C# でアプリケーションを作成しています。一連のドキュメントを特定の順序で印刷します。ドキュメントはすべて異なるタイプであり、実際には「印刷」動詞を使用して ShellExecute を使用して印刷されます。

注文がごちゃごちゃしないように、関係するプリンターの印刷キューを調べたいと思います。私のメインループは次のようになります。

  1. ドキュメントで「印刷」アクションを呼び出す
  2. ドキュメントが印刷キューに表示されるのを待ちます
  3. 完了するまで繰り返します

マネージ コードを使用して印刷キューを監視する方法はありますか?

管理されていない呼び出しを使用して同様のことを行う素晴らしい例をいくつか見つけました (例: http://blogs.msdn.com/b/martijnh/archive/2009/08/05/printmonitor-ac-print-spooler-monitor.aspx )。また、c:\windows\system32\spool... の下にあるスプール ファイルを見て、その方法を理解する方法も知っています。

しかし、これらの解決策はどれも満足のいくものではありません...私が呼び出している管理されていないタラの量では、C++でアプリを書くべきだと感じています。(そして、.NET 依存関係/オーバーヘッドはありません。)

主な質問: マネージド コールのみを使用して印刷キューを監視する方法は本当にありませんか?

より一般的な質問: 私は Java の世界から来て、通常、OS 固有のことをしたいときや、MS の世界で他のものとやり取りする必要があるときだけ、.NET 言語を使用します。(たとえば、SSIS コンポーネント)。

プロジェクトを開始するたびに、ネイティブ関数、COM などへのあらゆる種類の呼び出しなど、同じ混乱に陥ってしまうようです。

2 番目の質問: .NET の哲学または実装について、私が見逃しているものはありますか? (マネージ ライブラリが何かを実行するのに十分な労力を払っていないだけなのでしょうか? 印刷キューの操作など、Windows 固有の処理を実行する必要がある場合、.NET は間違った選択でしょうか?) .NET が理論的には OS に依存しないはずですが、最近のほとんどのオペレーティング システムには、プリンターや印刷キューなどがあります。(したがって、これらの種類のことを行うための一般的な呼び出しがあれば、フレームワークの各プラットフォームのバージョンに実装できます..)

0 投票する
1 に答える
828 参照

python - pyinotifyを使用してディレクトリにスプールを作成する最良の方法は何ですか?

作成時にディレクトリ内のすべてのファイルを別のファイルに移動しようとしています。デーモン(実行中のpyinotifyインスタンス)をきれいに停止でき、元のファイルが引き続きorig/spoolディレクトリに作成される可能性があります。

デーモンの再起動後に処理したい。たぶん私はinotifyカーネルキューを利用できますか?

前もって感謝します

0 投票する
1 に答える
1222 参照

printing - 仮想プリンターポートモニターのインストール

スプーラの AddMonitor 関数を呼び出してインストールするポート モニタ dll があります。しかし、このモニターをアンインストールしたい場合、DeleteMonitor 関数はエラーコード 3008 - 「指定された印刷モニタ​​ーは現在使用中です」を返します。どうすればモニター dll を解放できますか?

0 投票する
2 に答える
3282 参照

c# - Microsoft Print Spooler API - 印刷ジョブを保留しますか?

Microsoft Print Spooler APIを使用して印刷ジョブを保持できるかどうかを知っている人はいますか?

プリンターに送る前に保留したいのですが。
これは可能ですか?

0 投票する
0 に答える
1353 参照

windows-7 - Windows XP で Windows 7 からプリンターに印刷を送信すると、スプール ファイルの形式が変更されます

私はこの奇妙な問題を抱えています

Windows XP にプリンターをインストールしており、プリント プロセッサを「winprint---> NT EMF 1.003」のように構成しました。

したがって、.spl ファイルは EMF 形式のファイルです。

今、私はこのプリンターをオフィスの LAN で共有しています。

別の Windows XP PC からプリントを送信しても問題ありません。

Windows 7 PC から送信すると、.spl ファイルは pcl3 形式です。なぜ?

このプリンターを Windows 7 PC に 2 つの方法でインストールしようとしています。

a) プリンターの追加 --> ネットワーク プリンターまたは別のコンピューターに接続されているプリンター。この場合、印刷すると、Windows XP マシンでのみ .spl ファイルが pcl3 形式で作成されます。

b) プリンターを追加 --> コンピューターに接続されているローカル プリンター。次に、共有プリンターへのネットワーク パスである新しいローカル ポートを作成します。この場合、印刷すると、.spl ファイルが Windows 7 で作成されます。これは EMF 形式です!!!!!!、Windows XP では別のファイルである pcl3 形式です。

なぜこうなった?Windows 7 から共有プリンターに印刷するときに、Windows XP で emf 形式の .spl ファイルを作成する必要があります。

0 投票する
2 に答える
4656 参照

c# - スプールファイルを再印刷できますか?

スプールファイルを再印刷する方法はありますか?

方法があるかどうかを示す例や記事が見つかりません。

編集:私がそれを再版すると言うとき、私は同じプリンターを意味します

0 投票する
0 に答える
2830 参照

windows - ResetDC()は何もしません(Windows用の印刷スプーラーAPI)

私はWindowsのプリントスプーラーAPIのラッパークラスを作成しました。これはほとんど機能します。

動作しないのは、プリンタ設定を適用することだけです。

まず、DocumentProperties()を呼び出して、プリンター設定を正常に取得して操作します。

次に、 ResetDC()を使用してこれらの設定を適用しようとしましたが、何も起こりません。この関数は有効なハンドルを取り、同じ有効なハンドルを返します。つまり、設定を適用する必要があります。しかし、何も起こらなかったようです。印刷出力は、プリンタ設定の変更による影響を受けません。

私は、レベル9でSetPrinter()を使用しようとしましたが、これも効果がありません。

このタスクはかなり緊急になっています。助言がありますか?

Delphi XE2、Windows764ビットを使用します。


さて、大きなOOラッパーの大部分をすべてスキップします。これが要約された手続き型バージョンです。(XPSファイルを指定する必要があることに注意してください。)

プリンター設定の変更が適用されており(Info2_Apply()を使用している場合)、MSWordで確認できます。印刷時に無視されているだけです。それが謎です。

私は非常に多くのことを試したので、オプションが不足しています。助けていただければ幸いです。


私はついにオプションを使い果たしました。

これが私のテストコードの最後のバージョンです。それは自己完結型であり、あなたが必要とするよりも多くの機能を含んでいます-私が考えることができる何かを必死に試みた結果です。

他の誰かがプリンタ設定を機能させることができる場合は、私に知らせてください。

以下を使用して、コンボボックスにプリンタ名を入力します。

印刷手順(私のテストコード):

0 投票する
1 に答える
7320 参照

printing - 拡張子が .tmp のスプール ファイルのファイル形式は?

多くの Windows セットアップでは、プリンターに直接印刷すると、通常、Windows スプール ディレクトリ "C:\Windows\System32\spool\PRINTERS" に 2 つのファイルが作成されます。スプール ファイル「80021.SPL」とシャドウ ファイル「80021.SHD」は、これらのファイルの例です。スプール ファイルには、プリンタがページを印刷できるように、描画命令の要点が含まれています。このスプール ファイルのデータは、使用する言語テクノロジと印刷ドライバに応じて、さまざまな形式の寄せ集めになっています。ただし、プリント サーバー上のプリンターに印刷する場合は、代わりに単一の「.TMP」ファイルが作成され、プリント サーバーに送信されます。これは、.SHD ファイルと .SPL ファイルを 1 つのトランスポート ファイルに結合してサーバーに送信しただけであると想定するのが妥当だと思います。しかし、その読み取り不能、私 ' 圧縮されているのか、暗号化されているのか、それとも何なのかはわかりませんが、解読できません。PDF を印刷する場合、通常、スプール ファイル (.SPL) でプレーン テキストの PostScript 命令を確認できます。これは、ファイルを開いてテキスト エディターで表示するだけです。そのスプール ファイル (.SPL) を GhostScript などのポストスクリプト ビューアに送信して、画面に描画されたページを表示させることもできます。しかし、ジョブがすべて .TMP ファイルにパッケージ化されている場合、基本的にはビットのバイナリの山にすぎません。 これらのトランスポート .TMP スプール ファイルからデータを圧縮解除する方法を知っている人はいますか?