`
cutecoot
  • 浏览: 120387 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MFC应用中几个小问题

 
阅读更多

近期维护一个MFC框架的测试程序,测试HID设备的指令协议。中间遇到并解决的几个小问题,记录如下:

 

1. 获取系统时间,毫秒级

SYSTEMTIME sys;
	GetLocalTime(&sys);
	char nTime[20];
	sprintf(nTime, "%02d:%02d:%02d.%03d : ", sys.wHour, sys.wMinute, sys.wSecond, sys.wMilliseconds);

 

2. 用hid_enumerate获取hid设备列表时,使用过的hid设备消失了。

后来发现

a。连接设备后,hid_enumerate不会再显示此设备

b。关闭设备连接后有读数据的线程未退出,所以用hid_enumerate获取设备时依然没有此设备。所以需要关闭连接时关闭线程。

       ThreadFlag = false;
	hid_close(HID_handle);
	HID_handle = NULL;
	DWORD exitCode = 0;
	for (;;)
	{
		GetExitCodeThread(pReadHIDThread, &exitCode);
		if (exitCode != STILL_ACTIVE)
		break;
	}

 增加读数据现场的flag判断,false时return 0.关闭设备时设flag为false,并判断线程已结束。

 

3. 获取edit框中输入,转为uint8_t.(主要是字节位数要对,否则会溢出)。因为是cstring,所以使用swscanf()

        uint8_t buff[13];
	CString txt;
	GetDlgItem(IDC_EDIT_CFGCMD)->GetWindowText(txt);
	swscanf(txt, L"%hhx %hhx %hhx %hhx %hhx %hhx %hhx %hhx %hhx %hhx %hhx %hhx %hhx", &buff[0], &buff[1], &buff[2], &buff[3], &buff[4], &buff[5], &buff[6], &buff[7], &buff[8], &buff[9], &buff[10], &buff[11], &buff[12]);
	

 

 

分享到:
评论

相关推荐

    MFC的几个应用程序

    在IT行业中,MFC(Microsoft Foundation Classes)是一个重要的框架,由微软公司开发,用于简化Windows应用程序的编写。这个框架基于C++,它封装了Windows API,提供了类库,使得开发者可以更加高效地创建桌面应用...

    MFC应用程序.pdf

    MFC应用程序的框架结构主要包括以下几个关键组件: 1. **CWinApp类**:这是MFC应用程序的核心,负责管理应用程序的生命周期,包括初始化、清理以及消息循环。CWinApp类还提供了访问应用程序资源的方法,如图标、...

    MFC的一个小综合应用!!!!!!

    MFC的应用通常涉及以下几个核心知识点: 1. **MFC架构**:MFC基于面向对象编程,它提供了一个框架,包含窗口、文档、视图、控件等关键组件。这些组件通过消息映射机制来处理用户交互和其他事件。 2. **文档/视图...

    一个简单的MFC应用程序

    MFC工程的结构通常包括以下几个部分:源代码文件(cpp)、头文件(h)、资源文件(rc)和项目设置(vcxproj)。在描述中提到的“完整工程”,意味着包含了所有必要的文件,从源代码到可执行程序,这对于初学者来说是...

    OpenCV的MFC应用程序

    在"OpenCV的MFC应用程序"中,我们主要关注以下几个关键知识点: 1. **OpenCV库的使用**:OpenCV库提供了丰富的图像处理函数,包括但不限于图像读取、显示、保存、颜色空间转换、滤波、几何变换、特征检测、图像分割...

    MFC应用程序框架

    MFC应用程序框架主要由以下几个关键组件构成: 1. **应用程序类** (CWinApp): 这是每个MFC应用程序的基础,继承自CWinApp。它管理应用程序的生命周期,包括初始化、运行、退出等过程,并处理全局的命令和消息。 2....

    VC++之MFC类库中文手册(一怀去意).zip_KHQ_MFC_MFC类中文_vc++_vc++之mfc

    MFC类库包含了众多类,这些类大致可以分为以下几个核心部分: 1. **基础类**:如CObject,它是所有MFC类的基类,提供了对象的序列化、动态类型查询等功能。CString类则提供了一种方便的字符串操作方式。 2. **文档...

    MFC中文帮助文档

    学习MFC,你需要理解以下几个关键点: - **消息映射机制**:MFC通过消息映射将Windows消息与成员函数关联,使得处理消息变得更简单。 - **资源管理**:MFC支持资源文件,其中包含对话框、图标、菜单等资源的定义。 ...

    notepad 初学VC++MFC 应用

    2. **理解MFC架构**:MFC应用通常包含几个关键类,如CWinApp、CDocument、CView等。CWinApp代表应用程序本身,CDocument存储数据,CView则用于显示和编辑这些数据。对于NotePod,我们可能需要自定义CDocument和CView...

    mfc根据窗口大小自动调整所有控件大小

    实现这样的功能可以使你的MFC应用更加灵活和用户友好。通过熟练掌握CMFCLayoutManager和相关的布局规则设置,你可以创建出适应各种屏幕尺寸和分辨率的界面,提高应用的可用性和吸引力。不过,要注意的是,实际应用中...

    MFC控件自适应窗体改变大小

    这个“MFC控件自适应窗体改变大小”的程序是针对MFC应用的一个常见需求,即当窗口尺寸发生变化时,控件能够自动调整大小以保持良好的界面布局。这种功能对于创建响应式用户界面至关重要,尤其是在现代多分辨率和高...

    应用系统集成 MFC

    使用Visual C++(简称VC++)开发MFC应用程序通常包括以下几个步骤: 1. **创建项目**:使用VC++ IDE,选择MFC应用程序模板,配置项目属性,如工程类型(单文档或多文档)、使用哪些MFC功能等。 2. **设计用户界面**...

    VC++之MFC类库中文手册.chm

    MFC主要由以下几个部分组成: 1. **核心类**:包括CObject基类,它是所有MFC类的祖先,提供了动态类型识别和序列化等功能。其他如CWinApp,它是每个MFC应用程序的基础,管理应用程序的生命周期;CWnd,是所有窗口类...

    MFC类库中文手册

    在MFC中,应用程序通常由以下几个关键组件构成: 1. **CWinApp**:应用程序主类,负责应用程序的初始化、运行和退出。 2. **CFrameWnd**:框架窗口类,作为主窗口或者子窗口的基础。 3. **CView**:视图类,显示和...

    利用MFC开发Windows应用程序

    MFC AppWizard创建的应用程序框架主要包括以下几个部分: - **主窗口类**:通常是一个继承自`CFrameWnd`的类,负责管理整个应用程序的主窗口。 - **文档类**:如果选择了SDI或多文档应用程序类型,则会生成一个文档...

    MFC的一个简单注册小程序

    在这个“简单注册小程序”中,可能会包含以下几个关键部分: 1. **入口点**:程序的入口点通常是一个继承自`CWinApp`的类,其中的`InitInstance`函数是程序启动时被调用的,可以在这里进行初始化操作,如加载资源、...

    MFC类库中文手册 chm,查阅方便快捷

    1. **MFC类**:MFC库包含了大量封装了Windows API功能的类,如CWinApp,它是每个MFC应用程序的基础,负责应用程序的初始化和退出;CWnd,代表窗口对象;CDialog,处理对话框;CButton,处理按钮控件等。每个类都有一...

    MFC 使用sqlite3 例子

    在MFC应用中整合SQLite3,你需要做以下几步: 1. **包含SQLite3库**:首先,你需要下载SQLite3的源代码或预编译库,并将其包含到你的项目中。这可以通过设置项目的附加包含目录和库目录来完成。 2. **连接到数据库...

    mfc Cserial应用

    这可以通过在MFC应用中添加日志记录功能或数据查看窗口来实现,方便观察和分析通信过程。 总结来说,"Mfc Cserial应用"是一个基于MFC的串口调试工具,通过移植CSerial类并结合MFC框架,实现了串口通信的配置、数据...

    包哥C++(MFC中文帮助文档)

    在MFC中,主要包含以下几个关键概念: 1. **框架类**:MFC 提供了一套框架类,如 CWinApp,它是每个MFC应用程序的基类,负责应用程序的初始化和终止;CWnd 类是所有窗口类的基类;CFrameWnd 用于创建主框架窗口;...

Global site tag (gtag.js) - Google Analytics