std::function和std::bind绑定成员函数
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748#include <iostream>#include <functional>using namespace std; class A{public: A() :m_a(0){} ~A(){} virtual void SetA(const int& a){ cout << "A:" << this << endl; m_a = a; } int GetA()const { return m_a; }protected: int m_a;};class B: public A{public: B():A(){;} ~B(){;} ...
寒江独钓-Windows内核安全编程笔记-第3章代码和笔记
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220 ...
VirtualBox+WinDbg+Win7调试环境配置
1.配置虚拟机串口如图
勾选启用串口->端口选择COM1->端口模式选择主机管道->勾选创建管道->端口文件位置输入:\\.\pipe\com1
2.配置虚拟机里面的系统,开启调试模式Win7 下以管理员身份进入CMD分别输入以下命令:bcdedit /enum osloader
查看系统情况。
bcdedit /copy {current} /d Win7Dbg
复制启动项
bcdedit /displayorder {current} {142b1de8-130a-11e5-b852-9ff41a342c36}
注 {142b1de8-130a-11e5-b852-9ff41a342c36}是上一步生成的GUID。增加系统启动时的加载项
bcdedit /debug {142b1de8-130a-11e5-b852-9ff41a342c36} on
启动调试
bcdedit /bootdebug {142b1de8-130a-11e5-b852-9ff41a342c36} on
启动BOOT调试
bcdedit查看设置Win7Dbg就是用来调试的 ...
MFC的PNG图片按钮
MFC的PNG图片按钮
pngbutton.h123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566#pragma once#include "afxwin.h" / // 工程: YF_GCM -> ButtonDemo // 作者: **// 描述: 自绘制位图按钮// 主要函数:// SetButtonUpBitmapEx()设置鼠标放置在按钮上的图片// SetButtonDownBitmapEx()设置按钮按下的图片// SetButtonNormalBitmapEx()设置鼠标不在按钮是的图片// 日期: 2013.12.16// 版本: 1.0// 修改: / // CBitmapButtonEx class CPngButton : public CBitmapButton{ DECLARE_ ...
MFC写OCX插件
增加外部调用方法使用OCX插件。ID从这里查找。TestOcx属性
HTML页测试
12345678<object classid="clsid:34486535-7102-451E-9CF9-A65290F75E24" id="34486535-7102-451E-9CF9-A65290F75E24" codebase="TestOcx.ocx" size="500" width="500" height="500"> </object>
解决Macro宏无法运行
这个问题是由于系统打补丁引起的。
在下面这3个路径找到文件,进行编辑。
“C:\Program Files (x86)\Common Files\Microsoft Shared\VSA\9.0\VsaEnv\vsmsvr10.exe.config”“C:\Program Files (x86)\Common Files\Microsoft Shared\VSA\9.0\VsaEnv\vsaenv10.exe.config”“C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe.config”前2个在系统盘。第3个在vs安装目录下。
这3个文件下面一行加入
解决方法见
http://visualstudioextensions.vlasovstudio.com/2014/02/13/visual-studio-2010-macros-stop-working-after-february-2014-windows-update/
设置VS2010 IDE窗口背景颜色
在VS2010的菜单中:“工具——>选项——>环境——>字体和颜色——>纯文本——->项背景色”选择你所需的颜色就好。
Visual Studio Color Theme Editor 可以更改
在VS2010的菜单中的:工具====》扩展管理器===》联机库,在其中找到 Visual studio coloer theme editor
然后安装该库,此时菜单中多出了一个“Theme”,通过Theme中的Customize Color来设置。
使用对话框实现类似MFC浮动工具条
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220 ...
MAINFRM中调整view的大小
CMainFrame中响应OnSize去调整m_wndView大小时,点击最大最小化按钮view大小位置都正常。但是拖动框架调整大小时view大小变得和占满框架。
解决方法:1234567if (!m_wndView.Create(NULL, NULL, AFX_WS_DEFAULT_VIEW,CRect(0, 0, 0, 0), this, 0/*AFX_IDW_PANE_FIRST*/, NULL)){TRACE0("Failed to create view window\n");return -1;}去掉AFX_IDW_PANE_FIRST属性。
MFC滚动条缩放图像
MFC图像缩放时使滚动条最大值根据图像高宽进行变换。
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253void CChildView::ResetScrollBar(int cx, int cy){ CConfiguration* pCofig = CConfiguration::GetInstance(); // 缩放最大最小比例 double minScale = pCofig->GetMinScale();//0.6; double maxScale = pCofig->GetMaxScale();//2.0; // 显示的长宽 double viewHeight = m_pDrawManager->GetAllTableSizeHeight();//m_pDrawManager->GetChannelNum()*230+10; double viewWidth ...