0

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();」です 必要ですか?
  • このアプリにはアイコンがありますか?
4

1 に答える 1

2

コンソール アプリを作成し、それを VS の Windows フォームに変更できます。次に、コンソールはなく、タスク マネージャーのプロセスだけですが、デスクトップとの対話は制限されません。

于 2012-04-13T13:03:33.557 に答える