CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  Windows SDK/API

登录前自动运行程序

楼主xingyun()2006-03-14 17:01:11 在 Delphi / Windows SDK/API 提问

我有一个EXE程序,可以作为托盘程序运行。我写了注册表:  
  \SoftWare\Microsoft\windows\CurrentVersion\Run,现在能够在用户登录操作系统后自动运行。  
  我想让它在登录之前就能自动运行,希望通过注册表达到这个目的,请问哪位知道方法?  
   
  查到下面的方法,觉得不太方便  
  引用自     jimmyge       (Do   Re   Mi)    
  想让一个程序在启动系统的时候自动运行,你有什么好办法?添加到启动组?那如果别人删除掉就不管用了。如果你使用了Windows       NT/2000/XP,就可以试试把这个程序添加为一个服务,这样只有拥有权限的人才可以更改服务,只要你设置好权限,就不用担心会被别人删除了。  
   
  要把应用程序添加为服务,你需要两个小软件:Instsrv.exe和Srvany.exe。Instsrv.exe可以给系统安装和删除服务,Srvany.exe可以让程序以服务的方式运行。这两个软件都包含在Windows       NT       Resource       Kit里,如果你没有,也可以点击这里下载。  
   
  把这两个程序保存在一个方便的位置,例如C盘根目录下。我们举例来说明,把OE作为一个服务添加进Windows       XP       Professional操作系统中,并把这个服务命名为“Mail”。在运行中输入“CMD”,回车,打开命令行窗口,在提示符后面直接输入:“c:\instsrv.exe       Mail       c:\srvany.exe”然后回车,其中的“c:\instsrv.exe”和“c:\srvany.exe”表示这两个程序保存的位置,而Mail则是你想添加的服务名称。  
   
  运行Regedit打开注册表编辑器,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下,找到刚才添加的Mail,点击右键,新建一个键,命名为“Parameters”,点击新建的Parameters,并再次新建一个名称为“Application”的子键,数据类型为“REG_SZ”,数值为希望作为服务运行的程序的所在位置,如果你的Windows系统安装在C盘下,那么OE的程序位置就是C:\Program       Files\Outlook       Express\msimn.exe       ,把这个路径添入数值中。到现在,这个服务已经成功的添加并且设置好了。如果你希望做的更加专业,可以在Mail服务下建立一个名为Description的子键,数据类型同样为REG_SZ,数值可以写一些你对这个服务的描述,这个我们在后面可以看到。  
       
  接下来需要对服务做一些额外的设置,在运行中输入“Services.msc”并回车,在列表中找到我们刚添加的Mail服务,双击打开,来做详细的设置。在“General”选项卡上,我们需要设置这个服务的运行方式,在图二中可以看见,作为一个服务,有“自动(Automatic)”,“手动(Manual)”和“禁止(Disabled)”三种启动类型,按照需要,我们一般设置成自动就可以了。而在“Logon”选项卡下可以设置以什么身份运行这个服务,一般可以不用理会,按照默认的设置。“Recovery”选项卡下则是进行恢复设置的,你可以指定,在服务第一次,第二次和第三次出错之后分别采取什么措施。“Dependencies”则显示了服务之间的依存关系,可以让你察看这个服务的运行依赖哪些其它服务,以及还有什么服务依赖于这个服务。这后面几个对我们一般用户没有什么意义。经过这些设置,你的服务已经完全可以正常工作了。  
  问题点数:50、回复次数:5Top

1 楼aiirii(ari-http://spaces.msn.com/members/aiirii/)回复于 2006-03-14 17:13:47 得分 30

查查delphi   程序的菜单,新建,   有个   windows   application   service  
  应该是你要的Top

2 楼aiirii(ari-http://spaces.msn.com/members/aiirii/)回复于 2006-03-14 17:17:21 得分 0

http://www.delphi3000.com/articles/article_1606.asp?SK=  
   
  http://topic.csdn.net/t/20050618/23/4091747.htmlTop

3 楼Tensionli()回复于 2006-03-14 18:26:24 得分 10

做成服务程序。Top

4 楼jzj_jony(笑傲江湖)回复于 2006-03-22 15:10:13 得分 10

做成服务或者通过做msgina.dllTop

5 楼jilu_sun(Godfather)回复于 2006-03-22 17:21:44 得分 0

学习!Top

相关问题

  • 如何实现在未登录前自动运行程序。
  • 如何让登录用户自动运行程序?
  • 在NT4.0中,如果某些用户登录时,让他自动运行服务器的某些程序?
  • 使程序开机自动运行
  • 怎麽让程序自动运行!
  • 急救! 如何自动运行程序?
  • 光盘自动运行程序
  • 如何让asp程序自动运行?
  • 关机如何自动运行程序
  • 自动运行程序的问题!

关键词

  • 选项
  • 数值
  • 系统
  • service
  • 运行
  • 服务
  • 程序
  • 添加
  • srvany
  • instsrv

得分解答快速导航

  • 帖主:xingyun
  • aiirii
  • Tensionli
  • jzj_jony

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo