首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

MFC和QT的区别

MFC 微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。早期很多学习计算机专业的读者可以在学校里面都有接触过,因为这个是每一个计算机专业的读者必修课程,所以在早期的C++项目里面很多都是使用MFC为开发框架进行构建的,因为它有一个很大的好处就是和我们的windows的系统兼容性很好,可以直接调用整个系统的API函数,而且开发的程序对系统的支持度很好,因为我们现在的windows系统都是在向前兼容的,如windows系统里面有win 95、win98、win2000,win Xp,win7,这些操作系统都是一致向前兼容的,如果经历过这些系统的读者都会发现系统在win8之前一直往前兼容,造成操作系统变得越来越大,在win8系统,后windows系统引入C#一起来对windows系统进行调控,这时我们会发现win8对win7的兼容性很差,而且这个操作系统也是微软除visit系统最短命的系统,这个时候我们就会发现我们的MFC开发的程序在整个windows兼容性不是那么高了,而且由于当时,对于我们的C++开发一直有一个叫做visual studio 的编译器在C#语言没有出来前,只能编译C++,所以visual studio作为全世界最优的编译器也是整体支持MFC,所以这个时候我们现实生活中在windows系统开发的程序很大部分都是使用了MFC框架进行开发,在如今我们的很多酒店、政府等等很多行业上面用的都是MFC框架进行开发,MFC全面支持COM组件开发,这个时候很多在windows开发的程序也会在这上面支持COM组件开发,还有由于在中国大部分计算机的使用者都是用的windows系统,所以在开发程序中用C++来开发的时候都是使用了最为稳定的MFC进行开发,记得几年前和一位一起工作的朋友曾经谈过,只要微软不倒闭,MFC的工作者就不会失业,为啥呢,哪怕现在在windows上面最为流行的C#语言也没有C++中的windows编程对windows操作系统操作这么流利,打个比方如果你的电脑里面在加上一个高拍仪这个时候要用到的是USB驱动进行调用,这个时候处理USB驱动调用的时候就会发现,驱动调用的数据都需要进行位运算,这个时候用C++来处理是最为方便的,所以C++在windows上面的开发之所以占尽了便宜,是因为windows编程,而我们的MFC是封装后的windows编程。

05

MFC 中集成 Html 的3种方式

最近考虑给Domolo SeoHelper 多么乐SEO助手 换上新装,全部用Html界面的方式表现。 据说 GTalk 就是用类似的方式实现的(?)。 灵感点滴 - GTalk的界面居然是用IE控件 雪狼窝: GTalk聊天界面应该是基于IE内核的? 现在看来可行的方式有3种:他们的区别是 程序代码和html 交互的机制不同; 1、如果是弹出对话框的方式,且用户交互项比较简单,建议采用:SHOWHTMLDIALOGFN 的方式来实现,windows.args 脚本的方式来通讯; 2、如果设计到的网页较多,且需要动态生成,建议参考 MSDN 上的这篇文章;using your CHtmlCtrl in my dialog-based app 3、对于实现的功能比较复杂,用户交互性强的程序,只好派出王牌杀手了:CDHTMLView 了,参考这篇:Integrating DHTML into MFC Views 另:今天实现了很久前就想做的一个功能 博客搬家客户端的核心代码 ,也就是用程序的方式发表博客,可以做到写一篇博客发送到多个BSP上。 原来的博客搬家是服务器端的,现在准备做一个客户端的版本,敬请期待。 本来昨天下班后就写好了,结果今天启动机器用了快半个小时,打开后一看,内存用了1.2G。晕。

03

以金山界面库(openkui)为例思考和分析界面库的设计和实现——问题

随着物质生活的丰富,人们的精神生活也越来越丰富。人们闲暇的时间也相对变多,于是很多人就开始寻找打发时间的方法。其中电视便是其中一种非常重要的消遣方式。假如我们打开电视机,看到了一个电视台正在播一部我们之前没看过的,正在一招一式进行打斗的武侠片;另一个电视台正在播一部之前也没看过的,正在重复太极推手的教学片。我想大部分人会选择那部武侠片。为什么?因为那是一个动作体系,不会让人厌烦。而那个推手教学片,可能非常高端,可能非常有内涵,但是总是让人缺乏点新鲜感。我之前更关注技术的细节,而今天开始,我将开始分析一款开源的软件界面库。这系列文章不再拘泥于一些技术细节,而从一个思路的方向去分析这个库。         我介绍这套界面库是目前开源的金山卫士开源计划中的一部分。具体的访问地址是 http://code.ijinshan.com/。其中代码的下载SVN地址是https://openkui.googlecode.com/svn/trunk。我将分析的是版本号为54的版本。(转载请指明出于breaksoftware的csdn博客)         在分析这个库之前,我们可以闭上眼睛,清空大脑,思考一下:如果自己要设计和编写一个界面库,将如何规划和设计?将会遇到什么技术问题?将如何做出一些选择?

02

机器视觉应用方向及学习思路总结

1、halcon软件提供的是快速的图像处理算法解决方案,不能提供相应的界面编程需求,需要和VC++结合起来构造MFC界面,才能构成一套完成的可用软件。 2、机器视觉在工业上的需求主要有二维和三维方面的 二维需求方面有:⑴识别定位;(2)OCR光学字符识别;(3)一维码、二维码识别及二者的结合;(4)测量类(单目相机的标定);(5)缺陷检测系列;(6)运动控制,手眼抓取(涉及手眼标定抓取等方面) 三维需求方面:(1)摄像机双目及多目标定(2)三维点云数据重构 3、要成为一名合格的机器视觉工程师必须具备以下三个方面的知识 (1)图像处理涉及以下几大领域: A、图像处理的基本理论知识(图像理论的基础知识) B、图像增强(对比度拉伸、灰度变换等) C、图像的几何变换(仿射变换,旋转矩阵等) D、图像的频域处理(傅里叶变换、DFT、小波变换、高低通滤波器设计) E、形态学(膨胀、腐蚀、开运算和闭运算以及凸壳等) F、图像分割(HALCON里的Blob分析) G、图像复原 H、运动图像 I、图像配准(模板匹配等) J、模式识别(分类器训练,神经网络深度学习等) 比较好的参考书籍有 经典教材:冈萨雷斯的《数字图像处理》及对应的MATLAB版 杨丹等编著《MATLAB图像处理实例详解》 张铮等编著《数字图像处理与机器视觉——Visual C++与MATLAB实现》

01

PE解析器的编写(一)——总体说明

之前自己学习了PE文件的格式,后来自己写了个PE文件的解析器,这段时间工作上刚好要用到它,老板需要能查看某个exe中加载的dll的一个工具,我在使用之前自己写的这个东西的时候,发现很多东西都忘记了,所以,我在这回顾下当时的思路,并记录下来,方便以后直接使用。也算是回顾下之前学习的内容,将学的东西学以致用 工具总体分为这样几个部分: 1. 文件头的信息 2. pe文件节表的信息 3. pe文件数据目录表的信息 4. 简单的从RVA到Frva的计算 工具主要采用MFC的框架作为界面,pe文件的解析部分完全由自己编写,主要使用了Windows中定义的一些结构体。刚开始开启界面时,所有功能按钮和显示界面都为空,当我们正确加载一个pe文件后这些按钮就都可以使用。

02

利用键盘钩子捕捉linux键盘动作,利用键盘钩子捕获Windows键盘动作[通俗易懂]

引言  在科研生产中对研制、调试操作的记录是非常有必要而且是有很重要价值的。通过对记录信息的分析,可以在事故发生后准确的分析出事故的起因、操作是否存在失误等许多重要线索。通常需要记录的信息是多种多样的,如环境温度记录、软件运行记录、文件访问记录等等。这里将以键盘信息记录为例来讲述类似的实验信息自动记录的一般实现方法。  由于需要记录当前系统下所有应用程序的键盘录入记录,因此必须采取某种特殊的技术来实现本进程(监视程序)对外部进程键盘操作信息的获取。这种技术便是本文将要论述的核心–系统全局钩子。本文下面将对Win32平台下全局钩子的运行机制进行介绍并给出了一个具体的由VC 6.0编写的捕获键盘动作的键盘钩子示例程序。   系统钩子和DLL  钩子的本质是一段用以处理系统消息的程序,通过系统调用,将其挂入系统。钩子的种类有很多,每种钩子可以截获并处理相应的消息,每当特定的消息发出,在到达目的窗口之前,钩子程序先行截获该消息、得到对此消息的控制权。此时在钩子函数中就可以对截获的消息进行加工处理,甚至可以强制结束消息的传递。  在本程序中我们需要捕获在任意窗口上的键盘输入,这就需要采用全局钩子以便拦截整个系统的消息,而全局钩子函数必须以DLL(动态连接库)为载体进行封装,VC6中有三种形式的MFC DLL可供选择,即Regular statically linked to MFC DLL(标准静态链接MFC DLL)、Regular using the shared MFC DLL(标准动态链接MFC DLL)以及Extension MFC DLL(扩展MFC DLL)。 在本程序中为方便起见采用了标准静态连接MFC DLL。  键盘钩子程序示例  本示例程序用到全局钩子函数,程序分两部分:可执行程序KeyKook和动态连接库LaunchDLL。首先创建一个MFC AppWizard(DLL)工程,并选择Regular statically linked to MFC DLL(标准静态链接MFC DLL)选项,以建立MFC扩展动态连接库LaunchDLL.dll。之后,在相应的头文件中添加宏定义和待导出函数的声明:

01
领券