MFC
MFC
CodeCaptain
最佳实践的好办法就是把手动起来~~~
展开
-
(二) 使用Detours调试远程线程注入的dll
调试远程线程注入的DLL原创 2017-10-24 14:34:28 · 2580 阅读 · 0 评论 -
MFC全局函数开局——AfxGetApp解剖
MFC中有不少的全局函数,方便在不同对象中获取不同的内容或创建不同的对象。主要全局函数有:AfxWinInit() AfxBeginThread() AfxEndThread() AfxFormatString1() AfxFormatString2()AfxMessageBox() AfxOutPutDebugString() AfxGetApp() AfxGetMainWnd(转载 2008-09-20 19:14:00 · 1211 阅读 · 0 评论 -
afxnmcd.lib(wincore2.obj) : error LNK2005
2>afxnmcd.lib(wincore2.obj) : error LNK2005: "void __stdcall DDX_Control(class CDataExchange *,int,class CWnd &)" (?DDX_Control@@YGXPAVCDataExchange@@HAAVCWnd@@@Z) 已经在 nafxcw.lib(wincore2.obj) 中定义2>原创 2016-11-28 16:35:02 · 2337 阅读 · 2 评论 -
VC++动态链接库编程之MFC扩展DLL
前文我们对非MFC DLL和MFC规则DLL进行了介绍,现在开始详细分析DLL的最后一种类型――MFC扩展DLL。 6.1概论 MFC扩展DLL与MFC规则DLL的相同点在于在两种DLL的内部都可以使用MFC类库,其不同点在于MFC扩展DLL与应用程序的接口可以是MFC的。MFC扩展DLL的含义在于它是MFC的扩展,其主要功能是实现从现有MFC库类中派生出可重用的类。MFC扩展DLL使用MF转载 2009-06-24 14:20:00 · 863 阅读 · 0 评论 -
VC++动态链接库编程之非MFC DLL
4.1一个简单的DLL 第2节给出了以静态链接库方式提供add函数接口的方法,接下来我们来看看怎样用动态链接库实现一个同样功能的add函数。 如图6,在VC++中new一个Win32 Dynamic-Link Library工程dllTest(单击此处下载本工程)。注意不要选择MFC AppWizard(dll),因为用MFC AppWizard(dll)建立的将是第5、6节要讲述的转载 2009-06-24 11:30:00 · 688 阅读 · 0 评论 -
VC++动态链接库编程之MFC规则DLL
第4节我们对非MFC DLL进行了介绍,这一节将详细地讲述MFC规则DLL的创建与使用技巧。 另外,自从本文开始连载后,收到了一些读者的e-mail。有的读者提出了一些问题,笔者将在本文的最后一次连载中选取其中的典型问题进行解答。由于时间的关系,对于读者朋友的来信,笔者暂时不能一一回复,还望海涵!由于笔者的水平有限,文中难免有错误和纰漏,也热诚欢迎读者朋友不吝指正! 5. MFC转载 2009-06-24 14:19:00 · 703 阅读 · 0 评论 -
VC++动态链接库编程之DLL典型实例
动态链接库DLL实现了库的共享,体现了代码重用的思想。我们可以把广泛的、具有共性的、能够多次被利用的函数和类定义在库中。这样,在再次使用这些函数和类的时候,就不再需要重新添加与这些函数和类相关的代码。具有共性的问题大致有哪些呢?笔者归纳如下: (1)通用的算法 图像处理、视频音频解码、压缩与解压缩、加密与解密通常采用某些特定的算法,这些算法较固定且在这类程序中往往经常被使用。 (2转载 2009-06-24 14:23:00 · 690 阅读 · 0 评论 -
VC++动态链接库编程之DLL木马
从前文可知,DLL在程序编制中可作出巨大贡献,它提供了具共性代码的复用能力。但是,正如一门高深的武学,若被掌握在正义之侠的手上,便可助其仗义江湖;但若被掌握在邪恶之徒的手上,则必然在江湖上掀起腥风血雨。DLL正是一种这样的武学。DLL一旦染上了魔性,就不再是正常的DLL程序,而是DLL木马,一种恶贯满盈的病毒,令特洛伊一夜之间国破家亡。 DLL木马的原理 DLL木马的实现原理是编程者在DLL转载 2009-06-24 14:25:00 · 608 阅读 · 0 评论 -
CString转换为int、long、char*型的一些函数和例子
1.CString->int、longCString strTest = "1000 test";int i = 0;i = _ttoi(strTest);strTest = "-199 dollars";long l = 0;l = _ttol(strTest); 输出:i = 1000;l = -199; 2.CStringchar*2.1原创 2009-06-11 15:23:00 · 20647 阅读 · 0 评论 -
VC++6.0安装错误:You must first run the Installation Wizard before running this setup 解决方案
VC++6.0安装错误:You must first run the Installation Wizard before running this setup 删除注册表中的HKY_LOCAL_MACHINE\\SYSTEM|ControlSet001\\Servi原创 2011-08-16 11:28:17 · 4867 阅读 · 0 评论 -
VC++如何使用微软提供的Mshtml库解析html页面元素
<br />1.创建Win32或MFC工程.<br />2.在预编译或需要使用MSHTML命名空间的头文件中添加以下语句:<br /> #include <atlbase.h><br /> #include <Mshtml.h><br /> #import <mshtml.tlb><br />3.前置条件设置完成,现在可以开始使用MSHTML访问里面的智能指针了。<br /> <br />例:<br /> <br />MSHTML::IHTMLDocument2Ptr pHTMLDoc2;原创 2011-01-11 09:14:00 · 5954 阅读 · 4 评论 -
对话框中使用ON_UPDATE_COMMAND_UI更新菜单状态
<br />解决方法:<br /> 今天在测试一个单文档项目时通过使用ON_UPDATE_COMMAND_UI消息能够正常更新菜单状态,就用同样的想法应用于对话框项目上,结果却无法正确更新菜单状态,后来查找到了不同的地方发现是WM_INITMENUPOPUP这个消息在对话框项目中没有重载,结果就依葫芦画瓢吧WinFrm.cpp文件中的WM_INITMENUPOPUP消息响应函数实现复制到对话框重载的WM_INITMENUPOPUP消息响应中,再次编写ON_UPDATE_COMMAND_UI对应菜单原创 2010-10-22 14:58:00 · 3202 阅读 · 0 评论 -
如何MSHTML命名空间解析HTML文件(MSHTML::IHTMLDocument2Ptr 提示错误)
1.创建Win32或MFC工程.2.在预编译或需要使用MSHTML命名空间的头文件中添加以下语句: #include #include #import 3.前置条件设置完成,现在可以开始使用MSHTML访问里面的智能指针了。例:MSHTML::IHTMLDocument2Ptr pHTMLDoc2;MSHTML::IHTMLDocument3Ptr pHTMLDoc3;……然后解析自己需要的HTML元素。原创 2010-12-12 10:31:00 · 3922 阅读 · 2 评论 -
MFC中常用的虚拟键位列表
<br />发现开发的过程中经常需要用到虚拟键位这些值,但是在MSDN中较多程序员不懂如何来找这些值,索性整理一下发表上来……<br />1.简单介绍一下在MSDN中的查找方法<br />步骤:打开MSDN→选择索引→输入VK_**(**表示任意值,其实输入VK_就已经有提示了)<br /> <br />2.虚拟键位列表<br />VK_LBUTTON 鼠标左键 0x01<br />VK_RBUTTON原创 2010-08-25 10:10:00 · 2072 阅读 · 0 评论 -
MFC中常用的内存分配及释放函数
<br />在MFC中,用后可以使用多种方法来分配和释放内存空间,下面给出经常使用的内存分配和释放的函数,如下表所示。<br /> <br />内存分配函数 内存释放函数<br />GlobalAlloc GlobalFree<br />LocalAlloc Local原创 2010-07-10 20:01:00 · 3707 阅读 · 0 评论