38、元文件查看器:开发与优化

元文件查看器:开发与优化

1. 模拟 NT 服务

在 Windows 系统中,通过利用 RunServices 键可以模拟 NT 服务,实现大致相同的行为。Windows 9x 服务本质上是普通的 Win32 应用程序(无论是 GUI 应用还是控制台应用),只需在 RunServices 键中注册,即可在每次登录前运行。

调用 RegisterServiceProcess() API 函数,可将当前进程(或其他正在运行的进程)注册为服务,使其在用户注销后仍能继续工作。不过,该函数未通过任何导入库公开,需要通过 kernel32.dll 中的 GetProcAddress() 动态加载。

以下是 Windows NT 和 Windows 9x 服务的差异对比:
| Windows NT 服务 | Windows 9x 服务 |
| — | — |
| 公开 ServiceMain() 函数的 Win32 应用程序 | 传统 Win32 应用程序 |
| 登录前运行 | 若在 RunServices 下注册,则登录前运行 |
| 注销后继续运行 | 若使用 RegisterServiceProcess() 注册为服务,则注销后继续运行 |
| 无用户界面的 GUI 或控制台应用程序 | 无用户界面的 GUI 或控制台应用程序 |
| 可在系统账户下运行 | 不支持 |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值