2012-02-10 5 views
0

WinFormsプログラム私は、インタラクティブユーザーとして実行したときに、正常に印刷された印刷物を作成しました。同じアカウントを使用するが、スケジュールされたタスクとして、プロセスは正しく実行されますが、出力の一部が不適切なフォントで出力されます。バッチ処理が正しいフォントで印刷されない

プログラムは、更新された価格ラベルを印刷するラベルプリンタです。タスクスケジューラが呼び出すオプション(-s)がありますが、GUIは表示されませんが、更新および印刷が行われます。 runを通じて対話型ユーザーとしてこれを実行すると、正しいフォントが使用されます。

ここで何が起こっているのかについての手掛かりはありますか?正しく印刷されていないフォントは非標準のシステムフォントです。

これはサーバー上で実行され、プリンタのリダイレクトによるものだと思っていましたが、コンソールログオンを行い、コンソール上の対話型プロセスとして正常に機能しました。

+0

スケジュールされたタスクとして何かを実行しても、インタラクティブモードで実行されているわけではありません。 –

答えて

0

興味深い問題です。おそらく、Windowsは、リソースを節約するために、非対話型ログオンセッションにフォントを読み込まない。

psツールを使用して、タスクを実行するときに対話型セッションを作成する1つの方法についてはthis answerを参照してください。

0

私は非常によく似た問題を抱えていました(スケジュールされたタスクを使ってアプリケーションを実行すると、デフォルトのフォントが使用されますが、ローカルで実行するとインストールしたカスタムフォントが見つかります) Server 2008では、非対話型ユーザーのインストール直後にカスタムフォントが登録されないのに対して、通常のユーザー(マシンに実際にログインしているユーザーで実行されるユーザー)はフォントをすぐに登録できます。

私のために働いた解決策は、フォントがインストールされているマシンを再起動するだけでした。コンピュータがオンになったときと同じように、非対話型アカウントの下でフォントが動作し始めました。フォントのインストールには、再起動するまで非対話型のユーザーに対してフォントを正しく登録しないバグがあるようです。

関連する問題