窗口应用程序或Windows服务?

时间:2010-09-02 01:32:23

标签: c# asp.net windows web-applications

我想创建一个弹出式应用程序,它将针对我的sql数据库运行,并在用户计算机上每次弹出一个弹出窗口来提问。响应将被发送回数据库。使用Windows服务很容易,但不能使用POpup或接口。 我怎么能做到这一点? 感谢您的任何建议

3 个答案:

答案 0 :(得分:1)

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

执行此操作的简单方法是在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

的注册表中放置指向应用程序可执行文件的密钥

答案 1 :(得分:1)

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

答案 2 :(得分:1)

如果您只需要每天早上显示弹出窗口,则无需运行服务。 只需创建一个普通的Windows应用程序,然后使用Windows任务计划程序(http://en.wikipedia.org/wiki/Task_Scheduler)安排它每天早上运行。

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

您可以在程序安装时自动创建任务。

编辑:以下是在c#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

中创建任务的示例