WinService を作成しましたが、残念ながら Win7 (および Vista) はサービスからのスクリーン キャプチャをサポートしていません。プログラムを WinService とは異なる、フォームのないものに書き直すつもりです..
あなたは何を提案しますか?
- コンソール アプリケーションにはコンソールがあります。必要ありません。
- WinForms アプリにはフォームがあります。フォームは必要ありません。
winforms アプリケーションからフォームを完全に削除することは可能ですか? プロセスなどを隠したくはありませんが、バックグラウンドでリスナーとして機能させたいです(サービスのように)。
どうやって閉めますか?簡単!「サービスの停止」の代わりに、タスク マネージャーからの「タスクの終了」を使用する必要があります。
- 物理的な形がなく、集中力がないことが重要な条件です。
編集:
リンクをありがとう!そのため、 form.csを完全に削除し、 program.csに次の変更を加えました。
static class Program
{
static Thread workerThread;
[STAThread]
static void Main()
{
//Application.EnableVisualStyles();
//Application.SetCompatibleTextRenderingDefault(false);
//Application.Run(new Form1());
load();
workerThread.Start();
}
public static void load()
{
workerThread = new Thread(DoWork);
workerThread.SetApartmentState(ApartmentState.STA);
}
static void DoWork()
{
while (true)
{
string directory = (@"C:\10\new\"); string name = (".bmp");
string filename = String.Format("{0:hh-mm-ss}{1}", DateTime.Now, name);
string path = Path.Combine(directory, filename);
Bitmap bmp = new Bitmap(@"C:\10\1.bmp");
bmp.Save(path);
bmp.Dispose();
Thread.Sleep(1100);
}
}
他の変更を加える必要がありますか、それともそのままで問題ありませんか? アプリにフォーカスを奪わせたくありません。プロセスが存在する必要があります。
- 「Application.Run();」です 必要ですか?
- このアプリにはアイコンがありますか?