您的位置:首页 > 其它

如何不重启系统加载.SYS文件

2004-10-10 19:33 381 查看
首先,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;

}

就这么简单.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: