C# 驱动加载 / LoadSysDriver

本文介绍如何使用C#操作驱动,特别是在Windows环境下加载内核驱动服务。通过OpenSCManager、CreateService和OpenService等API进行驱动服务的创建、打开和启动。强调在操作驱动时必须以管理员权限运行,并指出驱动服务类型应设置为SERVICE_KERNEL_DRIVER。在驱动已运行时,需要正确处理服务句柄的关闭和资源回收。
摘要由CSDN通过智能技术生成

我们为什么要用通过C#操作驱动,相信有人做过通过WinIo

“驱动级键盘模拟”方面的开发,当然如果是真正的WinIo开发

会比较麻烦,你必须要手动编写许可证、包括映射WinIo驱动

而不是单纯的直接调用WinIo.dll内的函数、当然WinIo技术中

可以令系统变速(开加速挂必备),当然缺点明显并不兼容双核

下处理器是个硬伤、好了今天可不是谈WinIo这种神器的,不

过既然是驱动方面、你必须以“管理员身份”运行、没悬念

        public static bool LoadSysDriver(string strFileName, string strServiceName, string strDisplayName)
        {
            IntPtr hSCManager = OpenSCManager(null, null, SC_MANAGER_CREATE_SERVICE);
            if (hSCManager == NULL)
            {
                return false;
            }
            IntPtr hService = CreateService(hSCManager, strServiceName, strDisplayName, SERVICE_START, SERVICE_KERNEL_DRIVER, SERVICE_DEMAND_START, SERVICE_ERROR_IGNORE, strFileName, 0, 0, 0, 0, 0);
            if (hService == NULL)
            {
                hService = OpenService(hSCManager, strServiceName, SERVICE_START);
                if (hService == NULL)
        
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值