如何不重启系统加载.SYS文件
2016-06-20 00:00
204 查看
首先,SYS的加载控制是在注册表里,START控制,你肯定已经知道了,我
就不多说了。
可以用控制面版DEVICE,这个你已经知道了,还可以用NET START XXX
和NET STOP XXX来启动和加载,这个你肯定也知道了。
用DEVICE和NET START的方法都必须先在注册表里填好,然后启动机器
然后NET START XXX,其实可以不用重启动机器的(动态加载的SYS)
在程序里加载的程序是这样的
BOOLEAN
StartPacketDriver( LPTSTR ServiceName )
{
BOOLEAN Status;
SC_HANDLE SCManagerHandle;
SC_HANDLE SCServiceHandle;
/* Open a handle to the SC Manager database. */
SCManagerHandle = OpenSCManager(
NULL, /* local machine */
NULL, /* ServicesActive database */
SC_MANAGER_ALL_ACCESS); /* full access rights */
if (SCManagerHandle==NULL) {
MessageBox(NULL,TEXT("Could not open SC"),NULL,MB_OK);
return FALSE;
} else {
SCServiceHandle=OpenService(SCManagerHandle,
ServiceName,
SERVICE_START
);
if (SCServiceHandle == NULL) {
MessageBox(NULL,TEXT("Could not open service"),NULL,MB_OK);
}
Status=StartService(
SCServiceHandle,
0,
NULL
);
if (!Status) {
if (GetLastError()==ERROR_SERVICE_ALREADY_RUNNING) {
return TRUE;
}
}
return Status;
}
return FALSE;
}
就这么简单.
就不多说了。
可以用控制面版DEVICE,这个你已经知道了,还可以用NET START XXX
和NET STOP XXX来启动和加载,这个你肯定也知道了。
用DEVICE和NET START的方法都必须先在注册表里填好,然后启动机器
然后NET START XXX,其实可以不用重启动机器的(动态加载的SYS)
在程序里加载的程序是这样的
BOOLEAN
StartPacketDriver( LPTSTR ServiceName )
{
BOOLEAN Status;
SC_HANDLE SCManagerHandle;
SC_HANDLE SCServiceHandle;
/* Open a handle to the SC Manager database. */
SCManagerHandle = OpenSCManager(
NULL, /* local machine */
NULL, /* ServicesActive database */
SC_MANAGER_ALL_ACCESS); /* full access rights */
if (SCManagerHandle==NULL) {
MessageBox(NULL,TEXT("Could not open SC"),NULL,MB_OK);
return FALSE;
} else {
SCServiceHandle=OpenService(SCManagerHandle,
ServiceName,
SERVICE_START
);
if (SCServiceHandle == NULL) {
MessageBox(NULL,TEXT("Could not open service"),NULL,MB_OK);
}
Status=StartService(
SCServiceHandle,
0,
NULL
);
if (!Status) {
if (GetLastError()==ERROR_SERVICE_ALREADY_RUNNING) {
return TRUE;
}
}
return Status;
}
return FALSE;
}
就这么简单.
相关文章推荐
- 从文件句柄获得全路径
- 一个NOD32的升级补丁
- D3D中的光照(5)
- 码根码
- D3D中网格模型的运用
- OGame研究说明
- Symantec 的i32更新包与x86更新包的区别
- 微操教学
- 3D数学 ---- 矩阵的更多知识(4)
- PHP将uncode转utf8,一行代码解决问题
- 初次使用 git 的“核弹级选项”:filter-branch 从仓库中删除文件
- Windows NT/2000/XP下不用驱动的Ring0代码实现
- I Love You的真正含义
- ADSL知识合集
- 驱动级隐藏文件,注册表,进程
- 有一家银行每天早上都在你的帐户里存入86,400
- DirectX 9高层着色语言介绍4——语言基础(3)
- Game组首次超过Hack组
- 牛人与非牛人的对话
- 20145319 《java程序设计》课程总结