2010-09-02 163 views
0

我想创建一个弹出式应用程序,它将运行在我的sql数据库上,并在用户机器上每隔一个时间触发一个弹出窗口来提出问题。该响应将被发送回数据库。使用Windows服务轻松实现Prety,但不使用POpup或Interface。 我该如何做到这一点? 感谢您的任何建议窗口应用程序或Windows服务?

回答

1

在用户会话上进行服务显示窗口需要相当多的工作。最简单的做法是设置安装程序以使程序在登录时运行。

一个简单的方法做,这是把一个键指向您的应用程序的可执行文件在注册表中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

+0

嗯,我唐吨必然需要一个Windows service..Basically我需要的方式,只是有一个弹出式的时间表,打开每天早上在C#创建任务的例子,当用户登录在他的电脑 – FasoService 2010-09-02 01:44:15

1

搭配会话0隔离在Vista和更高版本,它是不再可能创造一个弹出/接口从服务。如果您的程序必须作为服务运行,那么您需要同时运行用户会话中运行的服务和客户端应用程序。然后,您可以使用多种不同的方式在两者之间进行通信。我最近使用.NET的远程处理来解决这个问题。

+0

#操作系统上的好处可能是一个问题。 Ity不必作为服务运行。但一个简单的提醒。问题是我需要有一个用户界面来与用户沟通 – FasoService 2010-09-02 01:46:07

+0

如果它不需要作为服务运行,那么为自己节省大量的工作(并为用户提供一些系统资源),并且不要运行它是这样的。 – Brad 2010-09-02 01:49:39

1

如果您每天早上只需显示弹出窗口,则不需要运行服务。 只需制作一个正常的Windows应用程序,然后使用Windows任务计划程序(http://en.wikipedia.org/wiki/Task_Scheduler)将其安排为每天早上运行。

创建任务时,您可以指定时间,可执行文件路径,频率&时间(每小时,每天,每月等)。您甚至可以指定是否在用户登录时运行任务(例如,在您希望任务运行时用户未登录)。

当您的程序安装时,您可以自动创建任务。

编辑:这是http://community.bartdesmet.net/blogs/bart/archive/2008/02/23/calling-the-task-scheduler-in-windows-vista-and-windows-server-2008-from-managed-code.aspx

相关问题