VC 实现光驱、软驱、USB 的禁用和启用
由于工作的实际需要,需要对光驱,软驱,USB 的启用和禁用实现控制。参考大家提供的对网卡禁用的
代码,实现了光驱,软驱,USB 的启用和禁用。主要实现代码如下:
// 必要的头文件和要链接的 LIB 文件
#include <setupapi.h>
#include <shlwapi.h>
#pragma comment(lib, "setupapi.lib")
#pragma comment(lib, "shlwapi.lib")
// device information set(我把它译为设备信息集)
HDEVINFO hDevInfo = NULL;
// 出错信息
void FormatMSG(DWORD dwError, LPTSTR * lpszMsg)
{
BOOL bOk = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_ALLOCATE_BUFFER, NULL, dwError,
MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED),
(LPTSTR)lpszMsg, 0, NULL);
if (!bOk)
{
HMODULE hDll = LoadLibraryEx(_T("netmsg.dll"),
NULL,
DONT_RESOLVE_DLL_REFERENCES);
if (NULL != hDll)
{
FormatMessage(FORMAT_MESSAGE_FROM_HMODULE |
FORMAT_MESSAGE_FROM_SYSTEM,
hDll,
dwError,
MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED),
(LPTSTR)lpszMsg,0, NULL);
FreeLibrary(hDll);
}
}
}
BOOL ChangeStatus(DWORD NewStatus, DWORD SelectedItem, HDEVINFO hDevInfo)
{
LPTSTR lpszMsg = NULL;
HCURSOR hCursor = NULL;