您当前的位置: 首页 >  windows

qianbo_insist

暂无认证

  • 0浏览

    0关注

    399博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

智慧讲台中的windows探测U盘

qianbo_insist 发布时间:2022-06-26 21:31:25 ,浏览量:0

目的

目的是在做智慧讲台中去探测U盘的插入和拔出,并且能够得到所有的磁盘目录和文件 程序如下所示:

#include 
#include 
#include 
#include 
#include 
LRESULT CALLBACK WndProc(HWND h, UINT msg, WPARAM wp, LPARAM lp)
{
	if (msg == WM_DEVICECHANGE) {
		if ((DWORD)wp == DBT_DEVICEARRIVAL) {
			DEV_BROADCAST_VOLUME* p = (DEV_BROADCAST_VOLUME*)lp;
			if (p->dbcv_devicetype == DBT_DEVTYP_VOLUME) {
				int l = (int)(log(double(p->dbcv_unitmask)) / log(double(2)));
				printf("c盘入系统\n", 'A' + l);
			}
		}
		else if ((DWORD)wp == DBT_DEVICEREMOVECOMPLETE) {
			DEV_BROADCAST_VOLUME* p = (DEV_BROADCAST_VOLUME*)lp;
			if (p->dbcv_devicetype == DBT_DEVTYP_VOLUME) {
				int l = (int)(log(double(p->dbcv_unitmask)) / log(double(2)));
				printf("%c盘出系统\n", 'A' + l);
			}
		}
		return TRUE;
	}
	else return DefWindowProc(h, msg, wp, lp);
}
int main() {
	WNDCLASS wc;
	ZeroMemory(&wc, sizeof(wc));
	wc.lpszClassName = TEXT("myusbmsg");
	wc.lpfnWndProc = WndProc;

	RegisterClass(&wc);
	HWND h = CreateWindow(TEXT("myusbmsg"), TEXT(""), 0, 0, 0, 0, 0,
		0, 0, GetModuleHandle(0), 0);
	MSG msg;
	while (GetMessage(&msg, 0, 0, 0) > 0) {
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}
}
磁盘文件列表

获取磁盘文件列表的class,获取所有文件之后查询ppt文件就行,ppt文件作为智慧讲台的课件。

#include 
#include 
#include "io.h"
#include 
#include "opencv2/core.hpp"

using namespace std;
using namespace cv;
struct face_db_name
{
	//所有人的姓名
	// 初始化为0
	int label = 0;
	vector _files;
	vector _names;
	vector _lables;
	vector _feather;
	vector& getlables()
	{
		return _lables;
	}
	void pushlables(int number)
	{
		_lables.push_back(number);
	}
};


	//列出子文件夹的所有文件,并设定回调函数
void listfiles(std::string dir, std::string namefolder,face_db_name &dbname);
void listfolder(std::string dir, std::vector & names);
void searchfile(string folder, face_db_name & dbname);



#include "filesystem.h"



//人名的文件夹
void listfiles(std::string dir, std::string namefolder, face_db_name &dbname)
{
	intptr_t handle;
	_finddata_t findData;

	string dirfilter = dir + "/" + namefolder + "/" + "*.*";
	handle = _findfirst(dirfilter.c_str(), &findData);    // 查找目录中的第一个文件
	if (handle == -1)
	{
		cout             
关注
打赏
1663161521
查看更多评论
0.2482s