![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 61
这个名字很响亮
努力拼搏,快乐生活
展开
-
WCHAR,CHAR,TCHAR的区别
现在C++的字符分成两种类型wchar_t和char。 其中 WCHAR==wchar_t,CHAR==char。 TCHAR是一种条件编译的类型,根据条件可以代表wchar_t或char。 CHAR实施上就是unsigned char,WCHAR为宽字符,而TCHAR根据是否支持unicode而不同。在程序使用sizeof(TCAHR),当默认设置时,这个值转载 2014-11-20 16:25:45 · 2446 阅读 · 0 评论 -
MFC 开机自启与系统托盘
void CBastron20Dlg::OnClickedPowerboot(){ HKEY hKey; LPCTSTR lpRun = L"Software\\Microsoft\\Windows\\CurrentVersion\\Run"; if (ERROR_SUCCESS == RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpRun, 0, KEY_WRITE原创 2016-12-13 16:01:37 · 446 阅读 · 0 评论 -
关于利用sizeof计算extern之后的全局变量的大小
http://blog.csdn.net/chenmeimei_8899/article/details/5640359今天用sizeof计算一个extern之后的数字的大小,发现总是0,在编译的时候也已经给报错了,但是就是不知道为什么,最后才恍然大悟。首先sizeof其实在编译期间已经计算了大小;extern之后的数组在编译器期间其实只是一个符号而已,不代表任何意义,只有在连接的时候转载 2016-09-30 10:41:02 · 1187 阅读 · 0 评论 -
SendMessage 自定义消息函数
http://www.cnblogs.com/wqj1212/archive/2008/03/03/1089298.html在.h文件里#define WM_MYMSG WM_USER+5 // 自定义一个消息afx_msg void OnMyMessage(WPARAM wParam, LPARAM lParam); // 自定义消息的处理函数声明在.cpp文件里ON_M转载 2016-09-27 15:50:24 · 2412 阅读 · 0 评论 -
获取当前路径下的所有文件(子文件)
// 获取当前路径下的所有文件(子文件)void BrowseCurrentDir(CString strDir) { CFileFind finder; CString strPath; CString strName; if (strDir.Right(1) != _T("\\")) { strDir += _T("\\"); } strDir += _T("*.*");原创 2016-09-22 10:33:50 · 563 阅读 · 0 评论 -
CListCtrl控件,Report风格列表中添加图片
http://blog.csdn.net/ribut9225/article/details/6905165 CImageList m_ListImageList; m_ListImageList.Create(32, 32, ILC_COLOR32 | ILC_MASK, 2, 2); m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1转载 2016-09-21 15:54:24 · 1564 阅读 · 0 评论 -
C/C++:遍历子目录,枚举文件,FindFirstFile + FindNextFile
转自:http://blog.csdn.net/liigo/article/details/4548577平时写程序时经常会用到的遍历子目录枚举文件的功能,用 Windows API 函数 FindFirstFile() 和 FindNextFile() 直接实现起来会相当繁琐,有许多细节需要注意和记忆,要在短时间内写出可以正常工作的、没有BUG的、能够递归遍历多层子目录并枚举其中所有文件转载 2014-12-02 14:29:12 · 2561 阅读 · 0 评论 -
typedef 定义函数指针(匿名函数)
原文地址:定义函数指针" href="http://blog.sina.com.cn/s/blog_5423100e010007jz.html" target="_blank" style="color:rgb(51,102,153); text-decoration:none">typedef 定义函数指针作者:兰音http://blog.sina.com.cn/s/blog_54231转载 2015-08-19 19:49:12 · 2043 阅读 · 0 评论 -
Tab Control用法
http://blog.csdn.net/aaahuanian/article/details/79047681. 新建一个MFC工程, 取名MyTab, 选择Dialog based, 然后Finish. 2. 添加Tab Control控件. 在ClassWizard为其添加变量, 变量名为m_tab. 类型为CTabCtrl. 3. 在对话框的初始化函数转载 2015-03-20 11:25:18 · 321 阅读 · 0 评论 -
MFC 显示位图
参考链接不知道了。很久前copy的,东西多,很啰嗦。现在重新编辑下,简单实用,转载请添加本链接!!!1.使用 picture control 显示可能出现下面的错误提示error RC2108: expected numerical dialog constant在资源代码中修改如下,注意:每次修改对话框后,都要重新看看资源代码,很有可能被软件自己改回去了CONTROL原创 2014-12-04 16:34:59 · 536 阅读 · 0 评论 -
MFC 导航界面
参考:http://blog.csdn.net/system14/article/details/9620999http://blog.csdn.net/foreverhuylee/article/details/23450639http://bbs.csdn.net/topics/50029048CPropertyPage 是一个从CDialog派生而原创 2017-05-02 10:34:35 · 2856 阅读 · 0 评论 -
MFC 单例运行三种方式
参考:http://blog.csdn.net/z397164725/article/details/37655837BOOL CMYDLGApp::InitInstance() 中添加这里只使用第一种方式 CWnd *pWndPrev, *pWndChild; if(pWndPrev = CWnd::FindWindow(L"#32770", L"MYDLG")) {转载 2017-11-27 15:04:25 · 1171 阅读 · 0 评论 -
GDI+ 的使用
http://blog.csdn.net/cashey1991/article/details/7407425http://blog.csdn.net/zhongbin104/article/details/8730935CXXXApp 头文件中添加:#include using namespace Gdiplus;#pragma comment(lib, "gdi转载 2017-09-23 10:16:41 · 370 阅读 · 0 评论 -
MFC DLL (二) 之纯资源,多语言的实现
参考:http://blog.csdn.net/wangjieest/article/details/7022348一、创建主工程1.MFC Application-> MultiLanguage2.Next-> Application type: Dialog based; Use of MFC: Use MFC in a shared DLL-> Finish3.Rem原创 2017-10-20 15:39:07 · 1168 阅读 · 0 评论 -
MFC DLL (一) 之函数调用
声明:大部分代码使用的是微软源码,请查看相关 API一、新建 DLL 项目1.选择 Win32 Project,名字 MathFuncsDll2.Next ->Application type: DLL->Finish3.添加 MathFuncsDLL.h// MathFuncsDll.h#ifdef MATHFUNCSDLL_EXPORTS#define M原创 2017-10-20 10:56:42 · 874 阅读 · 0 评论 -
MFC的多国语言界面的实现
MFC的多国语言界面的实现(將SetThreadLocale改成SetThreadUILanguage)转载请注明原文网址:http://www.cnblogs.com/xianyunhe/archive/2011/09/02/2163842.html目前很多软件都是要出口到多个国家,因此,为软件提供多国语言支持就成为了一个基本条件。为软件提供多国语言的支持的具体实现方法有转载 2017-10-18 10:07:39 · 797 阅读 · 0 评论 -
单字符与宽字符之间的转换
http://www.cnblogs.com/bevon/p/3685016.html//将 单字节char* 转换为 宽字节 wchar*inline wchar_t* AnsiToUnicode( const char* szStr ){int nLen = MultiByteToWideChar( CP_ACP, MB_PRECOMPOSED, szStr, -1, NULL, 0转载 2016-11-08 09:49:29 · 1197 阅读 · 0 评论 -
CGridCtrl在MFC中的使用
http://www.cnblogs.com/canger/p/5877016.htmlhttp://blog.csdn.net/kuangxiang_panpan/article/details/7198411使用CGridCtrl需要将源码中的将GridCtrl_src文件夹和NewCellTypes内的所有文件添加到自己的工程当中。创建基于对话框的MFC工程,选择Cust转载 2017-09-04 16:51:38 · 3433 阅读 · 0 评论 -
MFC中使用自定义资源
参考: http://www.cnblogs.com/gakusei/articles/1352922.html在MFC的资源视图中添加资源如下:点击ok后会出现上图红色框中自己添加的类型。 HRSRC hRes = FindResource(NULL, MAKEINTRESOURCE(IDR_BIN1), L"bin"); if(hRes == NULL) { D原创 2017-05-09 16:32:19 · 1061 阅读 · 0 评论 -
C++实现AES算法
http://blog.csdn.net/liuyan4794/article/details/8729107AES.h[cpp] view plaincopy#pragma once #include"stdafx.h" #define AES_KEY_ROW_NUMBER 4 #define AE转载 2015-03-13 11:57:22 · 706 阅读 · 0 评论 -
C++输出中文字符 C/C++多字节字符与宽字符的输出
转自:http://blog.csdn.net/stawn/article/details/10492111(1)原文:http://www.cnblogs.com/lixiaohui-ambition/archive/2012/07/17/2596490.htmlC++输出中文字符1. cout场景1: 在源文件中定义 const转载 2014-12-31 09:37:54 · 2643 阅读 · 0 评论 -
C/C++ I/O库函数
转自:http://blog.csdn.net/isgray/article/details/6838341头文件:stdio.h函数列表: 文件操作remove删除文件rename重命名文件tmpfile打开一个临时文件tmpnam产生临时文件名 文转载 2014-11-27 11:14:36 · 962 阅读 · 0 评论 -
C/C++字符串查找函数
C/C++ string库(string.h)提供了几个字符串查找函数,如下:memchr在指定内存里定位给定字符strchr在指定字符串里定位给定字符strcspn返回在字符串str1里找到字符串str2里的任意一个字符之前已查找的字符数量strrchr在字符串里定位给定字符最后一次出现的位置strpbrk转载 2014-11-27 11:08:52 · 1584 阅读 · 0 评论 -
C/C++字符串函数之复制函数
转自:http://blog.csdn.net/isgray/article/details/6757727突然发现对字符串函数缺乏系统的了解,所以花了一点时间专门整理下,在此记录之,以方便自己及有需要的人使用。C/C++字符串函数的头文件:string.h复制函数主要有4个,如下:1、char * strcpy(char* destination,const转载 2014-11-27 11:17:34 · 694 阅读 · 0 评论 -
修改已知快捷方式的属性
HWND hWnd = m_hWnd;//HRESULT hres;IShellLink * psl;WIN32_FIND_DATA wfd;LPCSTR lpszLinkName = "C:\\Users\\Administrator\\Desktop\\360安全浏览器7.lnk";//WCHAR lpszPath[MAX_PATH];//hres = CoIniti原创 2014-11-22 10:40:49 · 1367 阅读 · 0 评论 -
Release
这里的Release指的是一个成员函数,不同于Release和Debug中的Release。该函数将调用接口在一个对象的引用计数。如果对象的引用计数下降为零,对象从内存释放。这里引用的是MSDN中一段参考代码,其中并没有原创 2014-11-21 11:46:17 · 587 阅读 · 0 评论 -
IShellLink和IPersistFile
转载:VC操作Windows快捷方式(自己总结)二个操作:新建和解析主要用到的是COM组件。IShellLink和IPersistFile需要添加的头函数shobjidl.hIPersistFile主要用到两个成员函数:1、Save。保存内容到文件中去2、Load。读取 Load的函数原型 HRESULT Load(转载 2014-11-22 09:12:13 · 1847 阅读 · 0 评论 -
禁止改变对话框大小
.h中:...afx_msg LRESULT OnNcHitTest(CPoint point); ....cpp中BEGIN_MESSAGE_MAP(CXXXDlg, CDialog)...ON_WM_NCHITTEST() ...END_MESSAGE_MAP()LRESULT CXXXDlg::OnNcHitTest(CPoint point){ int原创 2014-11-26 12:44:43 · 564 阅读 · 0 评论 -
MFC中的六大关键技术
http://write.blog.csdn.net/postedit?ref=toolbar转载 2014-11-24 18:46:23 · 427 阅读 · 0 评论 -
C++中异常类的使用方法
C++有很多的标准异常类:namespace std{ //exception派生 class logic_error; //逻辑错误,在程序运行前可以检测出来 //logic_error派生 class domain_error; //违反了前置条件 class invalid_argument; //指出函数的一个无效参数转载 2014-12-17 11:55:59 · 527 阅读 · 0 评论 -
c++ 操作注册表
第一部分:转自:http://blog.csdn.net/denghubu/article/details/5765921#t81. 注册表简介注册表是为Windows NT和Windows95中所有32位硬件/驱动和32位应用程序设计的数据文件,用于存储系统和应用程序的设置信息。16位驱动在Winnt (Windows New Te转载 2014-12-31 13:49:37 · 868 阅读 · 0 评论 -
在主程序中捕获消息
参考:1.SendMessage、PostMessage原理2.PreTranslateMessage作用和使用方法发送消息很简单,可以用sendmessage,postmessage,_event之类的函数。但是想着主程序中捕获消息,或者是自己定义的消息,有了我给出的上面的参考,就不难实现了吧。要特别提出的是,在单文档中主程序响应键盘或其他消息:发现只有app和fra原创 2014-12-25 16:22:03 · 327 阅读 · 0 评论 -
#define中 #与##的神奇用法
http://zjf30366.blog.163.com/blog/static/411164582009061075923/本文整理自csdn。#define f(a,b) a##b #define d(a) #a #define s(a) d(a) void main( void ) { puts(d(f(a,b)));转载 2014-12-09 17:59:32 · 329 阅读 · 0 评论 -
MFC改变按钮的颜色,方法简单,实用
手动添加消息映射的方法实现改变按钮的颜色,不必创建新的类!1.将button修改为owner draw 类型2.重载OnDrawItem函数,并对其改写在适当的位置添加下面的语句afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct);ON_WM_DRAWITEM()3.在消息响应函数里原创 2014-12-23 15:35:39 · 11172 阅读 · 1 评论 -
Virtual Key Codes (Compact 2013)
msdn:Virtual Key Codes (Compact 2013)Send Feedback on this topic to Microsoft.View this topiconline in your default browser.3/28/2014The f转载 2014-12-22 10:18:12 · 457 阅读 · 0 评论 -
键盘虚拟键值编码表
模拟键盘输入首先要用到一个API函数:keybd_event。 我们是菜鸟,所以不必具体去理解它的详细用法,只要按以下方法使用即可了!呵呵! 模拟按键有两个基本动作,即按下键和放开按键,所以我们每模拟一次按键就要调用两次该API函数,其方法是: 例子1:模拟按下'A'键 keybd_event(65,0,0,0); keybd_event(65,0,KEY转载 2014-12-22 10:10:01 · 1081 阅读 · 0 评论 -
可编辑子项的CListCtrl类
转自:http://www.vckbase.com/index.php/wv/1548文章概要:本文对CListCtrl控件进行了一个扩展,使它即可以编辑主项(Item),又可以编辑子项(SubItem),并尽量符合CListCtrl的操作习惯。一、说明大家都知道在MFC中通过给CListCtrl设置LVS_EDITLABELS属性,并且在程序中响应控件转载 2014-12-04 09:51:41 · 1928 阅读 · 0 评论 -
MFC4.2实现键盘钩子捕获,基于DLL实现
http://blog.csdn.net/jaminwm/article/details/463940一、我们可以在应用程序中毫不费力的捕获在本程序窗口上所进行的键盘操作,但如果我们想要将此程序作成一个监控程序,捕获在Windows平台下任意窗口上的键盘操作,就需要借助于全局钩子来实现了。 二、系统钩子和DLL 钩子的本质是一段用以处理系统消息的程序,通过系统调用,将其挂入转载 2014-12-24 09:40:00 · 1273 阅读 · 0 评论 -
extern c; c++ extern, extern const
http://www.cnblogs.com/rollenholt/archive/2012/03/20/2409046.htmlhttp://blog.csdn.net/deyuzhi/article/details/52296536https://wenda.so.com/q/1461050292727850转载 2018-01-04 18:15:25 · 190 阅读 · 0 评论