5

特定のフォルダーを監視し、このフォルダーにあるファイルを印刷するサービスを作成しています。印刷するフォルダーに送信できるさまざまなファイルの種類に問題があります。

私の最初の試みは、Microsoft Office ファイルです。私がやろうとしているのは、オフィスを起動してファイルを印刷することです。それはキャッチのようなものです。私は実際にはライブラリなどを使用していません。

これまでのところ、このアプローチは機能しますが、Office アプリケーションがマシン上で起動されていない場合、Office はユーザーのイニシャルを要求します。したがって、この場合、プログラムでこれを行っているため、アプリケーションは機能しません。

        ProcessStartInfo info = new ProcessStartInfo(myDocumentsPath);
        info.Verb = "Print";
        info.CreateNoWindow = true;
        info.WindowStyle = ProcessWindowStyle.Hidden;
        Process.Start(info);

現在、Microsoft Office ファイルを試していますが、他のタイプにも同じアプローチを適用します。

最初の Office の実行に必要なイニシャルを回避する方法はありますか?

または、私の問題に対するより良いアプローチはありますか?

事前に感謝します。

4

2 に答える 2

1

実際にできることは何もありません。サポートする各タイプのファイルを印刷するアプリケーションについては、アプリケーションが正しく構成されていることを確認する必要があります。

これは、オフィスの場合 (アウトプロセス COM サーバーとして実行されるため)、印刷を実行しているアカウントで実行する必要があることを意味します。これにより、イニシャルを入力でき、サーバーが試行したときにイニシャルの入力を求められなくなります。をクリックして印刷します。

他のすべてのアプリケーションでも同じです (アプリケーションが実行されて印刷されると仮定します)。プロセスを実行するアカウントとして実行し、正しく構成する必要があります。

于 2012-11-09T22:01:57.260 に答える
0

Winternals の regmon レジストリ アクティビティ モニタを使用して、Office が Windows レジストリのどこにイニシャルを格納しているかを調べ、印刷する前にこれらのキーを書き込みます。

于 2012-11-09T22:05:48.403 に答える