⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 device.h

📁 设备管理程序
💻 H
字号:
#pragma once

#include "DeviceInterface.h"
#include <list>

#define DEV_BLUETOOTH  2      // 蓝牙
#define DEV_CDROM      4      // CDROM
#define DEV_DISPLAY    8      // 显示卡
#define DEV_FLOPPY     16     // 软件驱
#define DEV_INFRARED   32     // 红外
#define DEV_KEYBOARD   64     // 键盘
#define DEV_MEDIAD     128    // 声卡
#define DEV_MODEM      256    // MODEM
#define DEV_MOUSE      512    // 鼠标
#define DEV_NET        1024   // 网卡
#define DEV_PRINT      2048   // 打印机
#define DEV_PORT       4096   // 端口
#define DEV_USB        8192   // USB

using namespace std;

class CDeviceCtrl
{
public:
	virtual ~CDeviceCtrl(void){};
     // 启用设备
	virtual VOID EnableDevice( ULONG ) = 0;
	// 禁用设备
	virtual VOID DisableDevice( ULONG ) = 0; 
	// 启动临视
	virtual BOOL Run() = 0;   
	// 退出
	virtual VOID Exit() = 0;
};

class CDevice : public CDeviceCtrl
{
public:
	CDevice(VOID);
	~CDevice(VOID);

	VOID EnableDevice( ULONG ); // 启用设备
	VOID DisableDevice( ULONG ); // 禁用设备
	BOOL Run();                  // 启动临视
	VOID Exit(){PostQuitMessage(0);}
private:
	VOID Clear( VOID );
	VOID DeviceChang( ULONG, BOOL );
	 // 枚举设备
	BOOL EnumDevice( GUID, BOOL = TRUE );
	// 设置线程时间
	VOID SetDeviceRefreshInterval( UINT = 10 * 1000 );

	VOID CheckChange( VOID );    // 检测设备
	VOID CheckSet();             // 开始检测
	static unsigned __stdcall ThreadFunc( LPVOID lpParam );

	friend LRESULT CALLBACK WndProc(
						 HWND hwnd,		// handle to window
						 UINT uMsg,		// message identifier
						 WPARAM wParam, // First message parameter
						 LPARAM lParam);// second message parameter
private:
	list<CDeviceInterface*> m_DevInter;
	UINT_PTR  hTimer;
	ULONG     m_EnableDev;  // 启用设备的序号
	ULONG     m_DisableDev; // 禁用设备的序号
	HANDLE    m_hThread;
	HWND      hWndMain;
};
extern CDevice * g_device;
extern HINSTANCE hAppInstance;

BOOL GetUSBDiskID( CHAR cDiskID, LPSTR lpPID );

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -