CString DriverName; //存放要卸载的驱动名字
//装载NT驱动程序
BOOL LoadNTDriver(char* lpszDriverName,char* lpszDriverPath);
//卸载NT驱动程序
BOOL UnloadNTDriver( char * szSvrName ) ;
/*******************************************************加载驱动的按钮**********************************************/
//加载驱动
void CLoadNTDriverDlg::OnBUTTONLoadSys()
{
// TODO: Add your control notification handler code here
CFileDialog sysFile(TRUE,NULL,NULL, NULL,
"驱动文件sys|*.sys|所有文件|*.*|");
if (IDOK==sysFile.DoModal())
{
//m_syspathname = sysFile.GetPathName();
m_syspathname = sysFile.GetFileName();
DriverName = sysFile.GetFileName();
//m_syspathname = sysFile.GetFileTitle();
UpdateData(FALSE);
LoadNTDriver(sysFile.GetFileName().GetBuffer(256),sysFile.GetPathName().GetBuffer(256));
}
}
/**********************************************************************************************************************/
/*******************************************************加载驱动的按钮**********************************************/
//卸载驱动
void CLoadNTDriverDlg::OnBUTTONUNLoadSys()
{
// TODO: Add your control notification handler code here
UnloadNTDriver(DriverName.GetBuffer(256) );
}
/**********************************************************************************************************************/
/#include <winsvc.h>
//装载NT驱动程序
BOOL LoadNTDriver(char* lpszDriverName,char* lpszDriverPath)
{
//char szDriverImagePath[256];
//得到完整的驱动路径
//GetFullPathName(lpszDriverPath, 256, szDriverImagePath, NULL);
BOOL bRet = FALSE;
SC_HANDLE hServiceMgr=NULL;//SCM管理器的句柄
SC_HANDLE hServiceDDK=NULL;//NT驱动程序的服务句柄
//打开服务控制管理器