ICANN认证国际域名顶级注册机构
网站建设,域名注册,空间租用,软件销售,广告设计 域名注册,空间租用, 网站建设,东莞网页设计,域名注册,网站推广,网站开发,网页设计 网站推广,,百度推广,新浪推广,雅虎推广,网易推广 标志设计,画册设计,包装设计,VI策划,企业形象顾问 连邦软件加盟店,提供销遥行,管家婆,速达,用友ERP,诺顿等软件报价及销售 建站必读 腾达网络,上网帮助中心, 腾达为东莞等地,提供网站建设,网站推广,广告设计,软件销售等优质服务!
建站必读


 
 
当前位置:首页 -> 建站必读 -> .NET技术
如何把你的应用程序作为服务来运行(1)
如何把你的应用程序作为服务来运行



by Chris J. Duke



 翻译:Atai



原创http://vbwire.com/advanced/howto/service.asp











本文章是“How—To”特别系列的第一部分。







如果你已经精通VB,并且现在你正想发布你的最后杰作作为商业软件。在最后的时间里,你们老板告诉你:你的应用程序需要在Windows NT下必须作为服务来运行。你告诉你们老板:“没问题“。于是你回到你的工作位置,然后发现你的VB程序不能做到。于是你到Microsoft Knowledge Base寻求答案,你在网上搜索,你在新闻组里搜索,最后你在这儿就特别兴奋,这儿就是VB程序如何做为服务这一系列。现在你所认为不可能的事情变得比你曾经想象的要简单。







本文章将把注意力集中到如何在Windows 95 和Windows NT3.51和或者更高版本来把你的Visual Basic4.0 或者Visual Basic5.0程序作为服务来运行。当你的应用程序作为服务时,你的应用程序能在登陆之前启动,这样你的程序能够在启动的时候运行。这样对于网络程序(比如Web服务器,邮件服务器或者是其他任何那些需要一直运行的应用程序)是很有用的。



请参看下一篇文章,这篇文章是关于如何下载一个免费的ActiveX控件加载到你的Form上马上把你的VB应用程序很简单的设置为NT 服务。







Window95



你可能要问你自己,为什么你需要把你的应用程序在Windows95上作为一个服务来运行。你也可能问是否Window95像WindowNT能够把你的应用程序作为服务来运行。



没错,Window95能够想Windows NT那样把应用程序作为服务来运行。为什么你将能够做到的理由就是你将在登陆之前启动你的应用程序。这经常会在Web服务器以及邮件服务器上使用。因为Windows 95的安全缺乏性,把你的应用程序作为服务将变的相当简单。但是这种情况对于Windows NT来说不适合(请看下面)。



在Windows95把你的应用程序作为服务来运行是很简单的。所有需要做的就是修改注册表。但是对于Windows NT来说却是一个地狱,对于Windows95,不要认为它毫无难处。本节将给你提供一个对Windows95重要的工作。



为了在Windows95中把你的应用程序作为一个服务,增加一个字符串值到你的注册表中:



HKLMSOFTWAREMicrosoft

WindowsCurrentVersionRunServices



例如。假设你的应用程序叫“MicroSpud“,创建一个字符串值,值为:MircoSpud”,并且输入可执行文件的全路径到注册表的数据域中。下面是其步骤:





Step 1: 增加一个新的字符串值





Step 2: 输入可执行文件路径





Step 3: 全部完成,重新启动,MicroSpud将在登陆前启动



Windows 95托盘图标



现在你好记得在前面提到的“Quirk”吗?它在这里。如果你的应用程序启动,并且有托盘的话,你将想阅读这个对之地详细说明。



当你的应用第一个启动,你最有可能在Form_Load()或者Main()事件中添加你的托盘图标。如果通过重新启动Windows95被设为自动登陆,那么这个问题将不存在。尽管如此,当一个用户强制登陆的话,将发生以下的事情:



Windows95 启动

你的应用程序作为服务

你的应用程序视图加载托盘图标,但是失败,因为已经没有托盘图标被加载

登陆对话框出现

T用户输入用户名和密码

桌面开始加载

Y你的图标在托盘区不会出现





解决方案是重复的调用Shell_NotifyIcon()API直到它返回一个TRUE布尔值。我发现一个来实现它的解决方法是加上一个计时器。计时器初始化为启动状态,时间间隔为5秒。在调用计时器的事件(Timer1_Timer)时调用Shell_Notification()。一旦API返回TRUE值时,关闭计时器。







Window NT

你可能已经发现在Windows95中设置只需要一步,但是对于WindowsNT来说,和Windows 95完全不一样。有些人可能称之为魔鬼,这种方法能够在WindowNT3.51或者更高版本上使用。



为什么Window NT有很大的不同呢?其中的一个理由是因为所有在NT下的服务都有服务控制台(Service Control Manager ,SCM)来管理。但是你的应用程序信息仍然在注册表里。



有更多的Keys允许应用程序作为NT服务。







微软意识到这个问题不仅仅发生在VB应用程序上,而且发生在大部分应用程序上。所以微软提出一个解决方案,并且这个解决方案表现非常出色。他们开发了一个小的应用程序。这个应用程序在Windows NT资源包里发行,他们可以在章的后面可以得到。这个应用程序叫



SRVANY.EXE,对你的应用程序来说它作为一个主机(或者服务包)。换句话说,它变成一个服务程序,这个服务程序为你处理全部的苦活(Dirty Work)和以及与SCM通信。当它启动时,它到注册表找出你的应用程序的所在路径。如果找到应用程序,则启动它。使用它唯一的缺点就是当SCM关掉SRVANY时,它将使用TerminateProcess()API来杀
 
 
本站关键词:
|网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作|
域名注册 | 虚拟主机 | 网站建设 | 网站推广 | 广告设计 | 帮助中心 | 软件中心 | 关于腾达
东莞市腾达信息工程有限公司      本站网络实名: 东莞网站建设
地址:东莞市新城市中心区第一国际B座610   邮编:523007
电话:0769-22026071 22026072 传真:0769-22026076 24小时服务热线:13712032014
© 2002~2005 腾达网络   版权所有