none
注册表中没有RunServicesOnce文件夹 RRS feed

  • 问题

  • 想把一个程序写入注册表,实现开机自启动。开始写到了HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run文件夹中,但是发现这样的话需要用户登录系统程序才可以启动,于是查资料发现,把程序写到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce文件夹下则可以实现用户登录之前程序就可以启动。但是我打开注册表编辑器发现根本就没有RunServicesOnce这个文件夹,我创建了RunServicesOnce文件夹,把程序放进去结果不管用,这个问题该怎么解决呀?
    2012年11月16日 5:17

答案

  • 这个分具体情况,有些程序倚赖于用户配置文件或用户专属注册表项,都需要登录用户帐户后才能运行。能够在登录之前运行的程序一般仅限于绿色软件、脚本、少数命令行程序等。
     
    --
    Alexis Zhang
     
    http://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis
     
    推荐以 NNTP Bridge 桥接新闻组方式访问论坛以获取最佳用户体验。
     
    本帖是回复帖,原帖作者是楼上的 "占占wyz"
     
    那自己写的winform程序可以在登录之前运行吗?
     
     
    • 已标记为答案 占占wyz 2012年12月4日 9:26
    2012年11月30日 21:43
    版主

全部回复

  • RunOnce 只是为了安装程序临时自动运行一次而设的,不适合长期运行的启动加载项。如果需要一个长期有效的,在用户帐户登录之前运行的启动加载项,不如通过组策略设置开机启动脚本。
     
    --
    Alexis Zhang
     
    http://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis
     
    推荐以 NNTP Bridge 桥接新闻组方式访问论坛以获取最佳用户体验。
     
    本帖是回复帖,原帖作者是楼上的 "占占wyz"
     
    想把一个程序写入注册表,实现开机自启动。开始写到了HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run文件夹中,但是发现这样的话需要用户登录系统程序才可以启动,
     
     
    2012年11月16日 21:26
    版主
  • 您说的组策略实现的开机启动是在用户登录之前启动的吗?
    2012年11月17日 3:06
  • 组策略既可以设置“启动脚本”也可以“登录脚本”。前者在登录用户帐户之前生效,影响所有用户帐户;后者在登录特定用户帐户之后生效,只影响一个用户帐户。
     
    --
    Alexis Zhang
     
    http://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis
     
    推荐以 NNTP Bridge 桥接新闻组方式访问论坛以获取最佳用户体验。
     
    本帖是回复帖,原帖作者是楼上的 "占占wyz"
     
    您说的组策略实现的开机启动是在用户登录之前启动的吗?
     
     
    2012年11月17日 21:42
    版主
  • 我用的是win7的系统,在开始菜单最下面输入MMC之后出现了这样的窗口:

    然后就不知道怎么操作了,在网上找了些资料都是win2000的操作方法,您那里有win7的操作方法吗?给个链接或者截图什么的都可以,谢谢了哈

    2012年11月27日 6:43
  • MMC 控制台是运行 .MSC 模板的平台,诸如组策略编辑器、设备管理器、磁盘管理、事件查看器等这些组件都是 Windows 提供的 .MSC,它们是通过
    MMC 加载的。
     
    你可以直接运行相应的 .MSC 模板,Windows 将自动调用 MMC 打开相应的组件,例如运行 GPEDIT.MSC,Windows 就会调用 MMC 打开组策略编辑器。
     
    也可以自己先打开空白的 MMC 控制台,然后通过“文件”-“添加管理单元”加载具体的 .MSC 模板。
     
    Windows 2000、Windows 7 都是一样的。
     
    --
    Alexis Zhang
     
    http://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis
     
    推荐以 NNTP Bridge 桥接新闻组方式访问论坛以获取最佳用户体验。
     
    本帖是回复帖,原帖作者是楼上的 "占占wyz"
     
    我用的是win7的系统,在开始菜单最下面输入MMC之后出现了这样的窗口:
    然后就不知道怎么操作了,在网上找了些资料都是win2000的操作方法,
     
     
    2012年11月27日 21:50
    版主
  • 还是没明白您的意思,您说的这些跟我想让一个程序开机在用户登录前自启动有什么关系呢?

    我打开mmc,添加管理单元以后出现了这个窗口,然后要怎么做呢?

    2012年11月28日 6:56
  • 因为你前一个帖子在问打开空白的 MMC 后不知怎么做,所以我向你介绍一下 MMC 与 .MSC 模板的关系。
     
    如果你要启动组策略编辑器的话,按照之前说的,直接运行 GPEDIT.MSC 就可以了,没有必要先打开空白的 MMC 再通过“文件”-“添加管理单元”打开组策略。
     
    在组策略中设置启动脚本的地方是“计算机配置”-“Windows 设置”-“脚本(启动/关机)”-“启动”,将你需要运行的东西添加为启动脚本。
     
    --
    Alexis Zhang
     
    http://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis
     
    推荐以 NNTP Bridge 桥接新闻组方式访问论坛以获取最佳用户体验。
     
    本帖是回复帖,原帖作者是楼上的 "占占wyz"
     
    还是没明白您的意思,您说的这些跟我想让一个程序开机在用户登录前自启动有什么关系呢?
    我打开mmc,添加管理单元以后出现了这个窗口,然后要怎么做呢?
     
     
    2012年11月28日 21:39
    版主
  • 我按照您说的做了一下,截图如下:

    然后重启系统,qq还是没有弹出应用程序,而且进程里面也没有qq。是不是我脚本添加的有问题呀?

    2012年11月29日 3:06
  • 原来你要加的是 QQ。QQ 不能在用户帐户登录之前运行。
     
    --
    Alexis Zhang
     
    http://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis
     
    推荐以 NNTP Bridge 桥接新闻组方式访问论坛以获取最佳用户体验。
     
    本帖是回复帖,原帖作者是楼上的 "占占wyz"
     
    我按照您说的做了一下,截图如下:
    然后重启系统,qq还是没有弹出应用程序,而且进程里面也没有qq。是不是我脚本添加的有问题呀?
     
     
    2012年11月29日 22:08
    版主
  • 那自己写的winform程序可以在登录之前运行吗?
    2012年11月30日 1:08
  • 这个分具体情况,有些程序倚赖于用户配置文件或用户专属注册表项,都需要登录用户帐户后才能运行。能够在登录之前运行的程序一般仅限于绿色软件、脚本、少数命令行程序等。
     
    --
    Alexis Zhang
     
    http://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis
     
    推荐以 NNTP Bridge 桥接新闻组方式访问论坛以获取最佳用户体验。
     
    本帖是回复帖,原帖作者是楼上的 "占占wyz"
     
    那自己写的winform程序可以在登录之前运行吗?
     
     
    • 已标记为答案 占占wyz 2012年12月4日 9:26
    2012年11月30日 21:43
    版主
  • 实现开机自启动试了好多方法都不行,还是把代码都写到服务的OnStart方法里了,哎,调用QQ、飞信都可以实现服务启动的时候调用程序,但是就是不能调用自己写的winform程序,只好把原来的winform程序改成控制台程序了...郁闷...
    2012年12月4日 9:30