<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[fly0413的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/fly0413</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fly0413]]></copyright><item><title><![CDATA[com书籍推荐]]></title><link>https://blog.youkuaiyun.com/fly0413/article/details/114651812</link><guid>https://blog.youkuaiyun.com/fly0413/article/details/114651812</guid><author>fly0413</author><pubDate>Thu, 11 Mar 2021 09:09:44 +0800</pubDate><description><![CDATA[《COM本质论》
《COM技术内幕》
《COM原理与应用》
《ATL开发指南》
《深入解析ATL》
《COM与COM+从入门到精通》
《COM编程精彩实例》
《COM+自动化编程》
《COM+技术大全》
《COM技术》
《COM+程序员指南》
《COM+编程参考》
《visualc++实践与提高——com和com+篇》
《深入理解COM+》
《com+组件编程技术内幕》
《COM高手心经》
《COM+编程》
《effectivecom》
《组件应用程序设计--com＋应用程序设计》
《com/ac...]]></description><category></category></item><item><title><![CDATA[vc 内存泄漏管理工具]]></title><link>https://blog.youkuaiyun.com/fly0413/article/details/88526321</link><guid>https://blog.youkuaiyun.com/fly0413/article/details/88526321</guid><author>fly0413</author><pubDate>Thu, 02 Jul 2020 14:01:20 +0800</pubDate><description><![CDATA[简述
C/C++ 程序越复杂，内存的管理显得越重要，稍有不慎就会出现泄漏。如果内存泄漏不是很严重，在短时间内对程序不会有太大影响，这也使得内存泄漏问题有很强的隐蔽性，不易被发现。然而不管内存泄漏多么轻微，当程序长时间运行时，其破坏力是惊人的 - 从性能下降到内存耗尽，甚至会影响其他程序的正常运行。

| 版权声明：一去、二三里，未经博主允许不得转载。

VLD
VLD（Visual Leak De...]]></description><category></category></item><item><title><![CDATA[c++ lambda 学习]]></title><link>https://blog.youkuaiyun.com/fly0413/article/details/105832951</link><guid>https://blog.youkuaiyun.com/fly0413/article/details/105832951</guid><author>fly0413</author><pubDate>Wed, 29 Apr 2020 10:42:31 +0800</pubDate><description><![CDATA[C++新增特性 lambda：主要用于函数内部定义，以减少函数，直观展示函数功能作用，只用于简短函数。
函数形式，结构：
[捕获外部变量列表] (形参列表)   指示符   异常设定    返回类型      函数体
[capture list] (params list) mutable exception-&gt; return type { function body }


capture...]]></description><category></category></item><item><title><![CDATA[转载 透明对话框]]></title><link>https://blog.youkuaiyun.com/fly0413/article/details/89492811</link><guid>https://blog.youkuaiyun.com/fly0413/article/details/89492811</guid><author>fly0413</author><pubDate>Wed, 24 Apr 2019 14:48:17 +0800</pubDate><description><![CDATA[BOOL CDialog7::OnInitDialog()
{
   CDialog::OnInitDialog();

   // TODO:  在此添加额外的初始化

   ::SetWindowLong(GetSafeHwnd(),GWL_EXSTYLE,::GetWindowLongPtr(GetSafeHwnd(),GWL_EXSTYLE)|WS_EX_LAYERED);
   thi...]]></description><category></category></item><item><title><![CDATA[MFC 不同进程间发送带长数据消息（SendMessage）]]></title><link>https://blog.youkuaiyun.com/fly0413/article/details/86747389</link><guid>https://blog.youkuaiyun.com/fly0413/article/details/86747389</guid><author>fly0413</author><pubDate>Sat, 02 Feb 2019 09:29:44 +0800</pubDate><description><![CDATA[1、：：SendMessage 这是发送消息且挂起，坐等消息处理结束，方能返回值。但发送带数据消息时由于数据比较长，接收不能正确获得，导致程序获取数据失败不能正常执行，处于这个原因，找到了一个发送数据拷贝事件的宏WM_COPYDATA，就当起了长数据传送到目的句柄（窗口句柄）职责。

发送消息代码


COPYDATASTRUCT cpd;                     // 给COPY...]]></description><category></category></item><item><title><![CDATA[MFC 单例]]></title><link>https://blog.youkuaiyun.com/fly0413/article/details/86703366</link><guid>https://blog.youkuaiyun.com/fly0413/article/details/86703366</guid><author>fly0413</author><pubDate>Wed, 30 Jan 2019 15:00:03 +0800</pubDate><description><![CDATA[1、单例用于频繁调用某些资源时，防止多次加载资源和释放资源，以下是单例的代码。

申明代码(.h)


#pragma once

class CSingleton
{
private: 
	CSingleton();//单例化
	static CSingleton* m_pSingleton;//单例对象指针
	static CCriticalSection m_limit;//临界量 用于限制...]]></description><category></category></item><item><title><![CDATA[！！！MFC多线程同步互斥[转载]]]></title><link>https://blog.youkuaiyun.com/fly0413/article/details/86700627</link><guid>https://blog.youkuaiyun.com/fly0413/article/details/86700627</guid><author>fly0413</author><pubDate>Wed, 30 Jan 2019 11:19:27 +0800</pubDate><description><![CDATA[ 

现在流行的进程线程同步互斥的控制机制，其实是由最原始最基本的4种方法实现的。由这4种方法组合优化就有了.Net和Java下灵活多变的，编程简便的线程进程控制手段。 

　　这4种方法具体定义如下 在《操作系统教程》ISBN 7-5053-6193-7 一书中可以找到更加详细的解释 
　　1、临界区:通过对多线程的串行化来访问公共资源或一段代码，速度快，适合控制数据访问。 
　　2、互斥量:为...]]></description><category></category></item><item><title><![CDATA[MFC 发送模拟双击消息（PostMessage）]]></title><link>https://blog.youkuaiyun.com/fly0413/article/details/86672308</link><guid>https://blog.youkuaiyun.com/fly0413/article/details/86672308</guid><author>fly0413</author><pubDate>Mon, 28 Jan 2019 09:42:11 +0800</pubDate><description><![CDATA[1、用PostMessage


	CRect rect;
	CWnd *pwnd = (CWnd *)GetDlgItem(IDC_BUTTON2);
	pwnd-&amp;gt;GetWindowRect(rect);
	SetCursorPos(rect.left+5, rect.top+5);
	::PostMessage(this-&amp;gt;m_hWnd, WM_COMMAND, MAKEWPAR...]]></description><category></category></item><item><title><![CDATA[MFC OCX三种调用方法]]></title><link>https://blog.youkuaiyun.com/fly0413/article/details/86649294</link><guid>https://blog.youkuaiyun.com/fly0413/article/details/86649294</guid><author>fly0413</author><pubDate>Fri, 25 Jan 2019 17:32:24 +0800</pubDate><description><![CDATA[1、以ATL的方式进行调用，ocx的本质是ATL，所以可以用调用ATL的方法进行调用。不过在插入头文件的时候跟ATL不同，需要以文件的形式加载读取他的头文件（因为ocx是控件只会生成在&quot;ActiveX控件中的MFC类&quot;，不会生成在&quot;ATL类型库里面的MFC类&quot;）。



选择完文件之后，即可添加对应的接口类。


void Ctest5Dlg::OnBnClickedTestBt()
{
	// ...]]></description><category></category></item><item><title><![CDATA[MFC 主线程等待子线程退出函数（MsgWaitForMultipleObjects）]]></title><link>https://blog.youkuaiyun.com/fly0413/article/details/82464193</link><guid>https://blog.youkuaiyun.com/fly0413/article/details/82464193</guid><author>fly0413</author><pubDate>Thu, 06 Sep 2018 16:58:59 +0800</pubDate><description><![CDATA[

void WaitForThreadExit(void)
{
	DWORD dwRet;
	MSG msg;
	int wait_count=4;//线程句柄有4个
	int nExitThreadCount=0;

	while(1)
	{
		dwRet = MsgWaitForMultipleObjects(wait_count, hArray, FALSE, INFINITE, QS_...]]></description><category></category></item><item><title><![CDATA[ATL 去掉IE调用OCX或者ATL时报不安全警告方法]]></title><link>https://blog.youkuaiyun.com/fly0413/article/details/81626644</link><guid>https://blog.youkuaiyun.com/fly0413/article/details/81626644</guid><author>fly0413</author><pubDate>Mon, 13 Aug 2018 11:28:23 +0800</pubDate><description><![CDATA[ocx
	在ocx的app.cpp上头部添加头文件应用 #include &amp;lt;objsafe.h&amp;gt;
		在添加以下三个函数：
		
		
HRESULT CreateComponentCategory(CATID catid, WCHAR* catDescription) 
{ 

	ICatRegister* pcr = NULL ; 
	HRESULT hr = S_OK ; 

...]]></description><category></category></item><item><title><![CDATA[生活需要目标，学习也一样。]]></title><link>https://blog.youkuaiyun.com/fly0413/article/details/80967179</link><guid>https://blog.youkuaiyun.com/fly0413/article/details/80967179</guid><author>fly0413</author><pubDate>Mon, 09 Jul 2018 11:08:10 +0800</pubDate><description><![CDATA[STL:

C++标准程序库：自修教程与参考手册 (OK)

Effective STL 中文版: 50条有效使用STL的经验

STL源码剖析

STL扩展技术手册（卷1）：集合和迭代器

算法:

算法导论...]]></description><category></category></item><item><title><![CDATA[MFC GB2312、UTF-8、unicode 之间转换]]></title><link>https://blog.youkuaiyun.com/fly0413/article/details/78092796</link><guid>https://blog.youkuaiyun.com/fly0413/article/details/78092796</guid><author>fly0413</author><pubDate>Tue, 26 Sep 2017 10:49:57 +0800</pubDate><description><![CDATA[//GB2312到UTF-8的转换
static int GB2312ToUtf8(const char* gb2312, char* utf8)
{
int len = MultiByteToWideChar(CP_ACP, 0, gb2312, -1, NULL, 0);
wchar_t* wstr = new wchar_t[len+1];
memset(wstr, 0, len+1);
...]]></description><category></category></item><item><title><![CDATA[MFC CMFCToolBar静态工具栏和动态工具栏，加载自定义图片（真彩透明）]]></title><link>https://blog.youkuaiyun.com/fly0413/article/details/78032173</link><guid>https://blog.youkuaiyun.com/fly0413/article/details/78032173</guid><author>fly0413</author><pubDate>Tue, 19 Sep 2017 17:07:56 +0800</pubDate><description><![CDATA[现在把我最新研究的对CMFCToolBar心得写在这边。

现在介绍两种加载工具栏的方式：

一种是静态加载工具栏，跟普通的加载工具栏一样，只是用了自定义图片。

一种是动态加载工具栏，这个也是需要静态工具的帮忙，这个的话原因还没有研究，但可以达到动态的效果。

 

还有特别需要介绍的是增加透明工具栏图片的方法。不知道一篇文章写这么多好不好。就算是分享学习了。

 

1、增加透明工具栏按钮图片...]]></description><category></category></item><item><title><![CDATA[MFC 引用CMFC新类要注意的事项]]></title><link>https://blog.youkuaiyun.com/fly0413/article/details/77991961</link><guid>https://blog.youkuaiyun.com/fly0413/article/details/77991961</guid><author>fly0413</author><pubDate>Fri, 15 Sep 2017 15:22:51 +0800</pubDate><description><![CDATA[1、引用CMFC新类时会出现内存泄漏的提示。

解决方案就是在程序app类的，退出程序中加入

 

int CMFCControlApp::ExitInstance()

{

    CMFCVisualManager::DestroyInstance(TRUE);//释放资源

    return CWinApp::ExitInstance();

}

这样就可以避免控件的内存泄漏，只是...]]></description><category></category></item></channel></rss>