我创建了一个 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);
}
}
我需要做一些其他的改变还是没关系?我不希望我的应用程序窃取焦点.. 必须存在一个过程。
- 是“应用程序。运行();” 需要吗?
- 这个应用程序有图标吗?