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

首先,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; 

}

就这么简单.