zoukankan      html  css  js  c++  java
  • Windows中实现不依赖账户登录的开机启动程序

    在Windows中很多的任务,我们希望能够在Windows 启动之后自动运行。
    注意本文要讲的开机启动的程序,是在用户还没有登录的情况下实现启动的。

    换句话说,本文描述的开机启动的程序运行在Session 0中 主要介绍了3中方法, 大家可以选择合适的方法去实现。

    Windows Service

    当Windows 启动的时候,还没有登录账号的时候,此时Windows中设置为auto状态的Service 将会在Session 0中运行。

    可以按照如下步骤去实现Windows Service:

    1. 如果还没有实现过Windows Service 程序的同学,可以参考这篇文章《Simple Windows Service in C++》去实现。

    2. 通过命令行创建Service, 主要注意start= auto设置Service为开机启动。

    sc create “SERVICE_NAME” binpath= "SERVICE_PROGRAM" displayname= "SERVICE_DESCRIPTION" start= auto

    Windows Startup Script
    按照如下步骤:
    1. 打开本地的组策略管理,运行命令gpedit
    2. 然后依次打开Computer Configuration->Windows Settings->Scripts-> Startup, 在Startup中配置需要开机启动的脚本或者程序。
    在机器中的配置,我们都尽可能的希望自动化,于是希望通过脚本来完成这个动作。

    Windows Schedule Task
    Windows定时任务管理器,提供了强大的功能:可以定时的执行任务,除了按照时间去触发定时任务,其还提供了开机启动触发程序运行的功能,你可以通过图形界面的方式配置,也可以通过命令方式:

    依次打开Control Panel->Administrative Tools->Task Scheduler,然后再里面新建自己的任务。主要注意以下两点:
    任务运行的账号选成”System”
    触发器中,选择At Startup触发器
    使用如下命令行:
    schtasks /create /TN "TASK_NAME" /RU SYSTEM /SC ONSTART /TR "TASK_PROGRAM"

    任务计划程序图形化界面:

    (其中要运行的脚本frpcstartup.bat内容:D:FRPCfrpc.exe -c D:FRPCfrpc.ini

    win搜索任务计划程序

    右侧有创建任务

     各个选项的内容如图:

     

    站在巨人的肩膀上,你会看得更远。
  • 相关阅读:
    51nod1179【思维】
    网络时间校准
    获取网络时间,减轻自己服务器的请求压力
    C# async/await异步编程深入理解
    C#中的异步编程--探索await与async关键字的奥妙之处,原来理解和使用异步编程可以这么简单
    "",string.Empty和null三者的区别
    三万字把SQL数据库的所有命令,函数,运算符讲得明明白白讲解,内容实在丰富
    C# await async Task
    C#异步编程 Task await的理解
    idea中更改下载源
  • 原文地址:https://www.cnblogs.com/JohnGene-Blog/p/12356711.html
Copyright © 2011-2022 走看看