3

Windows フォームで実行するように設計された C# アプリケーションがありますが、スケジュールされたタスクとして実行する必要があります。これには問題がありましたが、ユーザー環境の概念がないという点で「ヘッドレス」である必要があるためだと思います。プログラムは無人で実行するように作成されており、/AUTO 引数があり、デフォルトから実行されますが、問題の原因となるフォームが引き続き表示されます。

私は周りを見回しましたが、この状況でフォームを抑制する方法があると思いますが、正確な方法を見つけることができません. フォームを抑制してこのアプリケーションを実行できるようにする方法を知っている人はいますか?

4

5 に答える 5

2

アプリケーションをコンソール モードに変換し、タスク スケジューラの [全般] タブにある [非表示] チェックボックスもオンにします。

これはあなたを助けるでしょう

ここに画像の説明を入力

それでも WinForm アプリケーションを使用する場合は、その ShowOnTaskbar プロパティを false に設定します。

また、winform アプリケーションを winform アプリケーションに変換するのは非常に簡単です。プロジェクトのプロパティに移動し、出力タイプをコンソールに変更するだけです。ただし、コードを微調整する必要があります。

于 2012-07-19T12:58:58.683 に答える
0

私が理解している限りでは、フォーム モードはもう必要ありませんよね?

これが正しければ、WCF サービスなどのサービスとしてアプリケーションを実装することをお勧めします。構成されたタイマーでビジネス ロジックを永続的に実行および実行できます。

タイマーの構成を簡単かつ柔軟にするために、必要に応じて NCronTab を組み込むことができます。これにより、簡単なパターンでタスクをスケジュールできます45 11 * * Friday(=> 「毎週金曜日の午前 11 時 45 分に実行」)

于 2012-07-19T13:07:24.607 に答える