开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 782|回复: 7
收起左侧

[已解决] 无法加载驱动咋办

 关闭 [复制链接]
结帖率:80% (80/100)
发表于 2022-2-24 18:00:57 | 显示全部楼层 |阅读模式   浙江省丽水市
8精币

代码如下:

#include<windows.h>
#include "stdio.h"
void installDvr();//安装驱动
void startDvr();//启动驱动
void stopDvr();//停止驱动
void unloadDvr();//卸载驱动
void main()
{

installDvr();//安装驱动
startDvr();//启动驱动

stopDvr();//停止驱动
unloadDvr();//卸载驱动



}

void installDvr()//安装
{
SC_HANDLE schSCManager;
schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
if (schSCManager)
{
SC_HANDLE schService = CreateService( schSCManager,

"babaHelloDDKk",

"babaMyHelloDDKk",

SERVICE_ALL_ACCESS,

SERVICE_KERNEL_DRIVER, //创建的服务类型1为驱动服务

SERVICE_DEMAND_START, //用于当有进程调用StartService 函数时由服务控制管理器(SCM)启动的服务。cha询Starting Services on Demand以获取更多信息。

SERVICE_ERROR_IGNORE,

"e:\\s\\HelloDDK.sys",//驱动文件存放路径

NULL,

NULL,

NULL,

NULL,

NULL);
CloseServiceHandle(schService); //创建完记得释放句柄
if(schService)
{
printf("按装服务成功\n");

}
else
{
printf("按装服务失败\n");
}
CloseServiceHandle(schSCManager);
}


}
void startDvr()//启动
{
SC_HANDLE schSCManager;
SC_HANDLE hs;
schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
if(schSCManager)
{
hs=OpenService(schSCManager, "babaHelloDDKk", SERVICE_ALL_ACCESS); //打开服务
if (hs)
{
StartService(hs,0,0);
printf("启动服务成功\n");

CloseServiceHandle(hs);
}
CloseServiceHandle(schSCManager);
}
}
void stopDvr()//停止
{
SC_HANDLE schSCManager;
SC_HANDLE hs;
schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
if(schSCManager)
{
hs=OpenService(schSCManager, "babaHelloDDKk", SERVICE_ALL_ACCESS); //打开服务
if (hs)
{
SERVICE_STATUS status;
int num=0;

QueryServiceStatus(hs, &status);
if (status.dwCurrentState != SERVICE_STOPPED && status.dwCurrentState != SERVICE_STOP_PENDING)
{
ControlService(hs,SERVICE_CONTROL_STOP, &status);
do
{
Sleep(50);
num++;
QueryServiceStatus(hs, &status);
}while (status.dwCurrentState != SERVICE_STOPPED || num>80);
}

if(num>80)
{
printf("停止服务失败\n");
}
else
{
printf("停止服务成功\n");
}
CloseServiceHandle(hs);
}
CloseServiceHandle(schSCManager);
}

}
void unloadDvr()//卸载
{
SC_HANDLE schSCManager;
SC_HANDLE hs;
schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
if(schSCManager)
{
hs=OpenService(schSCManager, "babaHelloDDKk", SERVICE_ALL_ACCESS); //打开服务
if (hs)
{
bool a = DeleteService(hs); //删除服务
if (!a)
{
printf("删除服务失败\n");
}
else
{
printf("已删除服务\n");
}

CloseServiceHandle(hs);//释放完后可完服务可从服务表中消失 释放前是已禁止状态
}
CloseServiceHandle(schSCManager);
}

}

最佳答案

查看完整内容

64位系统看是不是驱动没签名,或者没有权限。

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:100% (4/4)
发表于 2022-2-24 18:00:58 | 显示全部楼层   广东省广州市
64位系统看是不是驱动没签名,或者没有权限。

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:80% (80/100)

签到天数: 2 天

 楼主| 发表于 2022-2-24 20:52:09 | 显示全部楼层   浙江省丽水市
l56bzz 发表于 2022-2-24 20:37
64位系统看是不是驱动没签名,或者没有权限。

都有,就是加载不成功
回复

使用道具 举报

结帖率:100% (78/78)

签到天数: 7 天

发表于 2022-2-25 03:19:09 | 显示全部楼层   河南省洛阳市
遗忘她的美 发表于 2022-2-24 20:52
都有,就是加载不成功

HelloDDK.sys  是你写的不?
回复

使用道具 举报

结帖率:80% (80/100)

签到天数: 2 天

 楼主| 发表于 2022-2-25 10:38:49 | 显示全部楼层   浙江省丽水市
风度猫 发表于 2022-2-25 03:19
HelloDDK.sys  是你写的不?

他只是个API加载驱动的方法啊,和这个驱动没关系
回复

使用道具 举报

结帖率:100% (78/78)

签到天数: 7 天

发表于 2022-2-25 14:15:03 | 显示全部楼层   河南省洛阳市
遗忘她的美 发表于 2022-2-25 10:38
他只是个API加载驱动的方法啊,和这个驱动没关系

驱动如果有问题呢?签名钱损坏了呢?这些不是你写的你能保证吗?
回复

使用道具 举报

结帖率:80% (80/100)

签到天数: 2 天

 楼主| 发表于 2022-2-25 15:40:28 | 显示全部楼层   浙江省丽水市
风度猫 发表于 2022-2-25 14:15
驱动如果有问题呢?签名钱损坏了呢?这些不是你写的你能保证吗?

...你要是真不明白就算了,这个代码我是直接复制过来他加载的那个驱动不是我要加载的驱动,
回复

使用道具 举报

结帖率:80% (80/100)

签到天数: 2 天

 楼主| 发表于 2022-2-25 15:48:14 | 显示全部楼层   浙江省丽水市
遗忘她的美 发表于 2022-2-25 15:40
...你要是真不明白就算了,这个代码我是直接复制过来他加载的那个驱动不是我要加载的驱动, ...

我在自己的代码写了我要加载的驱动,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表