windows services
===============
Creates a service object and adds it to the specified service control manager database.
Writing a ServiceMain Function
Automatically Starting Services
During system boot, the SCM starts all auto-start services and the services on which they depend. For example, if an auto-start service depends on a demand-start service, the demand-start service is also started automatically. The load order is determined by the following: The order of groups in the load ordering group list. This information is stored in the ServiceGroupOrder value in the following registry key: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control To specify the load ordering group for a service, use the lpLoadOrderGroup parameter of the CreateService or ChangeServiceConfig function. The order of services within a group specified in the tags order vector. This information is stored in the GroupOrderList value in the following registry key: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control The dependencies listed for each service. When the boot is complete, the system executes the boot verification program specified by the BootVerificationProgram value of the following registry key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control. By default, this value is not set. The system simply reports that the boot was successful after the first user has logged on. You can supply a boot verification program that checks the system for problems and reports the boot status to the SCM using the NotifyBootConfigStatus function. After a successful boot, the system saves a clone of the database in the last-known-good (LKG) configuration. The system can restore this copy of the database if changes made to the active database cause the system reboot to fail. The following is the registry key for this database: HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX\Services where XXX is the value saved in the following registry value: HKEY_LOCAL_MACHINE\System\Select\LastKnownGood. If an auto-start service with a SERVICE_ERROR_CRITICAL error control level fails to start, the SCM reboots the computer using the LKG configuration. If the LKG configuration is already being used, the boot fails. An auto-start service can be configured as a delayed auto-start service by calling the ChangeServiceConfig2 function with SERVICE_CONFIG_DELAYED_AUTO_START_INFO. This change takes effect after the next system boot. For more information, see SERVICE_DELAYED_AUTO_START_INFO.
==============
用SC 命令可以修改启动类型
Controlling a Service Using SC
================
http://www.cnblogs.com/cswuyg/p/3389948.html
服务demo代码所在:https://github.com/cswuyg/simple_win/tree/master/my_service_example ,包括了:服务进程、服务中启动GUI进程、服务控制进程的代码。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)