
MFC
BestRiven999
想到就开始做,还不算晚。
展开
-
unicode下各种类型转换
把最近用到的各种unicode下类型转换总结了一下,今后遇到其他的再补充:1、string转CStringstring a=”abc”;CString str=CString(a.c_str());或str.format("%s", a.c_str())2、int转CStringInt a;CString Cstr;Cstr.Format(_T("%d"),a)原创 2017-04-11 17:10:58 · 552 阅读 · 0 评论 -
CEF方面的研究(五) CEF中C++与JS交互
C++与JS的交互,相信不用多说,必是精髓。在写这篇博客之前,我不得不说之前遇到的一个问题:不管怎么搞,都不能回调到C++函数中。原因是什么呢?我没有实例化Cefapp。不实例化cefapp也能加载出页面,正常的进行显示,但是在js代码中写回调,回调不到C++中!为什么会犯这么低级的错误呢?实际上,在刚刚接触CEF代码时,真的是一头雾水,在网上各种抄代码,抄的最后“四不像”。以至于,自己的代码原创 2017-05-16 18:06:40 · 3238 阅读 · 0 评论 -
AfxGetApp()->m_pMainWnd和AfxGetMainWnd()
今天在解决一个bug时关注到了这两个看上去貌似一样的东西:AfxGetApp()->m_pMainWnd和AfxGetMainWnd()。平时不用多线程时,都是随便用,用法上也没什么区别,也没去专门的研究。当有BUG存在时,才意识到。由于我是在多线程中使用,每次用AfxGetMainWnd来sendmessage时,都会崩溃,将AfxGetMainWnd提取出来设给一个pWnd时,调试显示的是原创 2017-05-25 17:43:20 · 875 阅读 · 0 评论 -
CEF方面的研究(四) CEF嵌入MFC对话框关闭崩溃问题解决办法
RT、相信有不少朋友在开发过程中都遇到了,关闭崩溃或者关闭后打开电脑任务管理器,还有进程存在的问题。这个问题把我也是快折腾疯了,毕竟存在这类崩溃或者资源卸载不掉的问题是不能用入项目中的,蛋疼的困扰了我半个多月的时间,当我把后面的东西全部做完时,又不得不拐过头来解决他,不然每天开会,就只能低下头来说:“还没解决”。好吧,废话不多说。咱们来看看是什么原因。原因一、库版本问题。相信大家在入CEF原创 2017-05-15 18:21:21 · 4814 阅读 · 2 评论 -
CEF方面的研究(二) CEF的工程搭建
上节咱们已经会下载CEF的官方代码了,今天咱们来看一下CEF的环境怎么搭建。在搭建之前,有的同学(编译器VS2010)可能会遇到编译官网代码出错的问题如这种错误是由于编译器不能隐形调用智能指针的get()函数而导致的,因此需要咱们显示的调用下,即在出错处加上.get()即可。(如果再有编译不过的,可以联系QQ592902419交流)编译通过后即可生成libcef_dll_wra原创 2017-04-24 17:40:31 · 739 阅读 · 0 评论 -
关于动态库中在release下创建资源崩溃的问题。
相信大家在学习动态库(尤其是MFC动态库)的初期,肯定会遇到在DLL中创建资源崩溃的问题。今天小白就遇到了这个问题,搞了好些日子,终于想明白了是怎么回事,顺便来记录一下。造成这类崩溃错误的原因有很多种,比如,资源切换,ID错乱等。当然这些问题都比较好解决,一般加上HINSTANCE save_hInstance = AfxGetResourceHandle();AfxSetResour原创 2017-05-24 17:59:17 · 1021 阅读 · 0 评论 -
CEF方面的研究(三) 将CEF嵌入MFC对话框程序
前一段时间由于太忙,没有来得及更新。后来又遇到各种各样的问题,经过几经折腾吧,总算是搞定了。前面已经讲到如何编译出libcef_dll_wrapper.lib的库,今天咱们来看下将CEF嵌入MFC对话框。一、先建立一个MFC对话框的工程。在工程配置中,配置好与上一章配置libcef_dll_wrapper.lib相符的环境。比如我的就是:1、在共享DLL中使用MFC,2、运行库是:多线程调原创 2017-05-12 17:44:58 · 1318 阅读 · 0 评论 -
无法打开预编译头文件:“x64\Unicode_Release\DYEBrowserCtrlHelper.pch”
一开始遇到这类问题时,总是看不出来原因,后来查资料才发现,这问题的原因是由于工程中你选择了使用预编译头,但是存在特殊情况(全部都是使用预编译头,没有创建预编译头的)。所以解决办法是:在stdafx.cpp的属性中将C/C++——预编译头那项改为“创建”即可。原创 2017-04-20 18:16:26 · 476 阅读 · 0 评论 -
error LNK2005: DllMain 已经在 dllmain.obj 中定义的问题
创建动态库时,肯定有不少朋友会遇到这个问题LNK2005。根据问题的解释想到是重复定义的问题,由于自己创建工程中自己添加了动态库的入口函数:dllmain函数,与系统自带的函数冲突。那么怎么解决呢?其实很简单,在自己动态库工程中:C/C++——预处理器——预处理器定义中的USERDLL删掉就OK了。这样子就可以使用自己写的dllmain入口函数啦。原创 2017-04-20 17:55:43 · 2416 阅读 · 0 评论 -
C/MFC如何获得应用程序当前路径(整理)
第一种方法:DWORD GetCurrentDirectory( DWORD nBufferLength, // size, in characters, of directory buffer LPTSTR lpBuffer // pointer to buffer for current directory);BOOL SetCurrentDirector转载 2017-04-12 18:00:57 · 606 阅读 · 0 评论 -
error MSB6006: “cmd.exe”已退出,代码为 3
最近在搞cef的研究,虽然有前车之鉴,但还是几经周折,终于做出来个简单的demo(64位的MFC程序)。但是我把程序考到别的电脑上运行时,却出问题了:error MSB6006: “cmd.exe”已退出,代码为 3。什么原因呢?原来是我从官网下载的cef源码,用cmake编译后,生成的工程有了cmake的一系列信息,拷贝到其他电脑上,路径什么的就对不上了,就会出现此问题!那么解决办法就是原创 2017-04-12 17:42:54 · 20154 阅读 · 1 评论 -
C++ 压缩文件与解压文件
最近项目中用到文件压缩与解压,就了解了下这类知识。都说程序员是代码的搬运工,我也不例外。很快在网上找到了一些代码,比如zlib库,minizip等等。我在codeproject上找到了一个源码,简单明了。 zip utils----简单明了的C++接口。 地址: http://www.codeproject.com/Articles/7530/Zip-Utils-clean-elega原创 2017-12-05 18:15:30 · 4593 阅读 · 1 评论