
VC
文章平均质量分 75
guomeiran
这个作者很懒,什么都没留下…
展开
-
C++文件(夹)选择对话框
由于各种应用,我们需要调用系统的打开文件对话框或者打开文件夹对话框,或两者兼有。今遇到这个情况已经解决,特写下这篇博文。1.打开文件对话框常用的方法是使用系统的CFileDialog。这里介绍另外一种方法就是使用OPENFILENAME这个结构体和GetOpenFileName()这个函数,可以实现单选文件或者多选文件,代码如下:[cpp] view plai转载 2014-08-24 19:39:04 · 1035 阅读 · 1 评论 -
在new与delete之间
问题源自一段简单的代码:void main(){ char *p = new char; cin>>p; cout<<p[2]; delete p;} 在以上代码中,如果你输入:abcd,那么如你所望,你会看到"正确"的输出"c"。但是会有错误提示出现: Debug Error!Program: test.exeDAMAGE: after Normal block转载 2014-03-26 13:54:31 · 528 阅读 · 0 评论 -
C++中delete和delete[]的区别
一直对C++中的delete和delete[]的区别不甚了解,今天遇到了,上网查了一下,得出了结论。做个备份,以免丢失。 C++告诉我们在回收用 new 分配的单个对象的内存空间的时候用 delete,回收用 new[] 分配的一组对象的内存空间的时候用 delete[]。关于 new[] 和 delete[],其中又分为两种情况:(1) 为基本数据类型分配和回收空间;(2转载 2014-03-26 21:25:11 · 413 阅读 · 0 评论 -
VS2010中创建COM组件并用C++及C#测试
创建ATL工程:1.新建工程:2.在工程向导中使用默认设置:3.添加ALT simple object:4.添加函数与属性:5.添加实现代码:测试组件-CPP:测试组件-CSharp:转载 2014-04-21 16:15:12 · 1428 阅读 · 0 评论 -
如何自动使用 c + + 的嵌入的 Office ActiveX 文档
vc中嵌入excel的链接http://support.microsoft.com/kb/307473http://support.microsoft.com/kb/311546/en-us解决问题的链接http://support.microsoft.com/kb/316587本逐步式指南可用于自动执行嵌入的 Microsoft Office 文档转载 2014-04-21 21:30:30 · 2143 阅读 · 0 评论 -
typedef 函数指针的用法
typedef 函数指针的用法在网上搜索函数指针,看到一个例子。开始没看懂,想放弃,可是转念一想,这个用法迟早要弄懂的,现在多花点时间看懂它,好过以后碰到了要再花一倍时间来弄懂它。其实很多时候都是这样,如果每次到难一点的内容,总想着下次我再来解决它,那就永远也学不到东西。后面那个例子加了注释,是我对这种用法的理解,希望对新手有所帮助。进入正文: 代码简化, 促进跨平台开转载 2014-05-08 23:43:25 · 439 阅读 · 0 评论 -
VC manifest(管理员启动项目)
从VS2005开始,微软在VC的编译选项中添加了manifest这个功能,这将有助于软件以Side-by-Side方式运行。 采用/MD和/MDd运行时库选项的项目manifest是必要的。当程序启动时发生类似下图找不到MSVCRxxx.dll时可能就是程序没有正确的嵌入清单文件。怎样给程序嵌入manifest清单? 打开默认的manifest链接功能需要修改两处配置:原创 2014-04-11 21:30:19 · 1443 阅读 · 0 评论 -
DLL的远程注入技术
转载自: http://blog.csdn.net/bai_bzl/article/details/1801023 一、DLL注入DLL的远程注入技术是目前Win32病毒广泛使用的一种技术。使用这种技术的病毒体通常位于一个DLL中,在系统启动的时候,一个EXE程序会将这个DLL加载至某些系统进程(如Explorer.exe)中运行。这样一来,普通的进程管理器就很难发现这转载 2014-08-05 00:04:00 · 1074 阅读 · 0 评论 -
C++实现开机启动
很多监控软件要求软件能够在系统重新启动后不用用户去点击图标启动项目,而是直接能够启动运行,方法是写注册表Software\\Microsoft\\Windows\\CurrentVersion\\Run 。参考程序可以见下:(查找程序目录的执行文件,存在则进行添加注册表操作)//实用代码一int C***Dlg::CreateRun(void){//添加转载 2014-08-05 00:16:29 · 863 阅读 · 0 评论 -
DLL注入技术
目录(?)[+]一DLL注入技术的用途二实现DLL注入的另一种方法转载自: http://hi.baidu.com/xwind85/blog/item/ae5332ad04bb7f034a36d662.html一、DLL注入技术的用途DLL注入技术的用途是很广泛的,这主要体现在:1、假如你要操纵的对象涉及的数据不在进程内;2、你想对目标进程中的函数进行拦截(转载 2014-08-04 23:57:50 · 842 阅读 · 0 评论 -
VC Office2007界面对话框实现
我们知道VS2008SP1之后,MFC就多了一个功能包,可以快速的建立一个ribbon的界面,视觉样式可以在office 2007蓝、黑等颜色之间切换,这对于单文档/多文档做界面非常方便,而且也蛮好看的。但是,引入的功能包不对对话框进行界面美化,除了多一些控件外,外观没变。于是就想能不能利用单文档的CFormView来模拟对话框,进行自己来实现对话框的美化呢,下面以单文档为例:1.单文转载 2014-06-16 23:58:23 · 835 阅读 · 0 评论 -
windows核心编程(一) -----chSETDLGICONS
chSETDLGICONS宏 作用到底是什么呢?csdn根本没有提及其实和其他的诸如chINRANGE、chDIMOF以及chSIZEOFSTRING一样都是宏巨集。这里chSETDLGICONS的是对话框图标设置宏,它的作用是关联当前句柄到一个icon图标。原创 2014-06-12 10:25:37 · 1687 阅读 · 0 评论 -
windows核心编程(一) -----SetForegroundWindow
MSDN:http://msdn.microsoft.com/en-us/library/ms633539(v=VS.85).aspx 下面是谷歌翻译,有些语句不是很流畅。 SetForegroundWindow函数将创建指定的窗口,并激活到前台窗口的线程 。键盘输入窗口,并为用户更改不同的视觉线索。该系统分配一个优先略高前景的窗口,比它其他线程创建的线程。语法 BOOL原创 2014-06-12 14:41:24 · 705 阅读 · 0 评论 -
VS项目属性的一些配置项的总结(important)
以下内容为“原创”+“转载”首先,解决方案和项目文件夹包含关系(c++项目):VS解决方案和各个项目文件夹以及解决方案和各个项目对应的配置文件包含关系,假设新建一个项目ssyy,解决方案起名fangan,注意解决方案包括项目,此时生成的最外层目录为fangan代表整个解决方案的内容都在这个文件夹内。在这个fangan文件夹内包含有fangan.sln的解决方案配置文件和一个转载 2014-07-02 16:16:31 · 602 阅读 · 0 评论 -
VC编译器 VS 编译开关含义 及说明
/O1 最小化空间 minimize space /Op[-] 改善浮点数一致性 improve floating-pt consistency /O2 最大化速度 maximize speed /Os 优选代码空间 favor code space /Oa 假设没有别名 assume转载 2014-07-02 16:09:58 · 2615 阅读 · 0 评论 -
windows核心编程(一) -----windows消息分流器
很好理解,windows操作系统使用消息处理机制,那么,我们所设计的程序如何才能分辨和处理系统中的各种消息呢?这就是消息分流器的作用.简单来说,消息分流器就是一段代码,在我的讲述中,将分7重来循序渐进的介绍它.从最初的第1重到最成熟的第7重,它的样子会有很大的变化.但,实现的功能都是一样的,所不同的,仅仅是变得更加简练罢了.程序开始时候,会是main函数,然后会生成初始的窗口,同时转载 2014-06-12 00:36:54 · 495 阅读 · 0 评论 -
手把手教你用CAB发布OCX的简单办法
CAB是一种文件压缩格式,把OCX文件(ActiveX插件)压缩成CAB文件是为了发布它,这种发布方式给人感觉“浏览器会自动安装该插件”,很多朋友钟情于此。目前流行很多压缩工具,但WINRAR这类工具生成的CAB文件浏览器无法识别。经过试用,发现用Windows系统文件CABARC来制作CAB是最简单有效的办法,下面以打印控件Lodop为例,一步步了解制作CAB文件和部署发布的过程转载 2014-07-21 09:44:24 · 799 阅读 · 0 评论 -
BHO的创建-Window7 VS2010
一直以来,已经写过几个BHO控件,一段时间之后发现,只是记得大概流程,但是由于时间太长,已经不太能记得细节了,所以第二次写的时候就有些困难,明明已经正确生成,但是就是不能再加载项中发现,对于已经接触过的技术,实在是汗颜,于是决心记录下该项技术,以备不时之需 首先建立一个ATL项目 下一步,直接完成即可 其次呢,就转载 2014-07-21 09:42:13 · 619 阅读 · 0 评论 -
使用Windows剪贴板API
使用Windows剪贴板API 事实上,有两种不同的剪贴板接口机制。第一种机制是使用Windows剪贴板API,第二种机制则是使用OLE。以为剪贴板API是迄今为止最常用的方法,一次本章中主要介绍使用Windows剪贴板API。1、相关函数的介绍1)为数据分配内存空间:HGLOBAL GlobalAlloc(UINT uFlags,SIZE_T dwBytes),uFlags参转载 2014-02-18 10:07:41 · 1317 阅读 · 0 评论 -
CListCtrl控件(2)可编辑单元格的CListCtrl控件
CListCtrl控件生成之后,无论你单击还是双击它的单元格,都没有任何反应,如果我们需要像EXCEL那样双击一个单元格后即可编辑该单元格的内容,那怎么办呢?一个方法就是双击单元格之后,在该单元格的地方生成一个编辑框,然后让输入焦点落在该编辑框上,我们即可对该编辑框进行文字编辑,当输入焦点从编辑框上消失时(通常是用户在编辑框外的地方单击,就像EXCEL当编辑完一个单元格的内容后用户在单元格外的地方转载 2014-02-26 11:33:02 · 935 阅读 · 0 评论 -
CListCtrl的用法
1. CListCtrl 样式及设置2. 扩展样式设置3. 数据插入4. 一直选中Item5. 选中和取消选中Item6. 得到CListCtrl中所有行的checkbox的状态7. 得到CListCtrl中所有选中行的序号8. 得到item的信息9. 得到CListCtrl的所有列的header字符串内容10. 使CListCtrl中一项可见,即滚动滚动条转载 2014-02-26 11:06:43 · 1432 阅读 · 0 评论 -
ListControl双击实现可编辑
http://blog.csdn.net/zhenhua10/article/details/5622497所谓List Contro l,就是用来做LIist的,至于编辑,估计MS也没提供这个功能。比较诡异的是在给List Control 设 置属性的时候居然看到Edit Label ,处于好奇点了点,发现只能修改第一列,改了之后失去焦点又变 回原来的文本。没有深入试下去,我估计可以转载 2013-11-22 10:56:34 · 1144 阅读 · 0 评论 -
CListCtrl使用技巧
以下未经说明,listctrl默认view 风格为report1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_REPORT: 显示item详细资料 直观的理解:w转载 2013-11-22 10:47:43 · 702 阅读 · 0 评论 -
VC超级链接的设计与实现
在许多软件中,都有一个联系联系作者本人或者软件提供者的超链接,点击这个超链接可以向作者或软件提供者发送邮件或打开某个网页浏览信息,给软件的使用者带很大的方便。本文尝试设计和实现一个超级链接的功能,使它不仅能满足上面得功能,还能根据使用者的喜好在超链接的文本上采用不同的字体。1.设计原理 CStatic类是从CWnd类继承出来的一个静态文本框类,它对应静态文本框控件。静态文本框转载 2013-11-22 10:46:18 · 1177 阅读 · 0 评论 -
Vc++ Button控件的使用
按钮窗口(控件)在MFC中使用CButton表示,CButton包含了三种样式的按钮,Push Button,Check Box,Radio Box。所以在利用CButton对象生成按钮窗口时需要指明按钮的风格。 创建按钮:BOOL CButton::Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pPar转载 2013-11-22 10:17:00 · 3854 阅读 · 0 评论 -
MsChart控件的用法
点击打开链接点击打开链接点击打开链接转载 2013-10-31 13:46:51 · 542 阅读 · 0 评论 -
HANDLE的无效值:NULL还是INVALID_HANDLE_VALUE? 以及对HANDLE的RAII封装
打开/创建一个HANDLE而忘记close的情况时有发生。利用RAII的思想,将HANDLE封装为一个类,在其析构函数中进行close,是一个不错的方法。ATL提供了一个CHandle类,但是提出了以下使用注意事项:Some API functions will use NULL as an empty or invalid handle, while others use转载 2013-10-28 20:16:37 · 1477 阅读 · 0 评论 -
WIN32_FIND_DATA
WIN32_FIND_DATA结构描述了一个由FindFirstFile, FindFirstFileEx, 或FindNextFile函数查找到的文件信息,typedef struct _WIN32_FIND_DATA { DWORD dwFileAttributes; //文件属性 FILETIME ftCreationTime; // 文件创建时间转载 2013-10-28 20:01:17 · 524 阅读 · 0 评论 -
将一个Icon转化为句柄
将一个Icon转化为句柄HICON m_hIconImage;m_hIconImage = (HICON)LoadImage (AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_IMAGE), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR);注释:AfxGetResourceHandle():获得实例句柄;MAKE原创 2013-10-26 16:18:01 · 624 阅读 · 0 评论 -
WS_POPUP WS_OVERLAPPED WS_CHILD的区别
除了窗口类以外,还有成百上千种窗口风格供用户指定窗口的绘制及其行为。其中有 3种最重要的风格创建了对应3种最基本的窗口类型:重叠窗口、弹出窗口和子窗口。■ 重叠窗口(overlapped window),具有应用程序主窗口的全部特点。它的非客户区包括一个可伸缩的框架、菜单条、标题栏和最小化、最大化按钮。■ 弹出窗口(popup window),具有消息框或者对话框的全部特点。它的非客户区包转载 2013-10-26 15:24:31 · 951 阅读 · 0 评论 -
添加标题栏 CMFCCaptionBar
若要创建标题栏,请执行以下步骤:构造 CMFCCaptionBar 对象。 通常,您需要添加标题栏到框架窗口选件类。调用 CMFCCaptionBar::Create 方法创建标题栏控件并将其附加到 CMFCCaptionBar 对象。调用 CMFCCaptionBar::SetButton、CMFCCaptionBar::SetText、CMFCCaptionBar::SetIcon和 CMFC原创 2013-10-26 14:51:10 · 3333 阅读 · 0 评论 -
字符串按分隔符分割成字符串数组,再把字符串数组转化成整型数组
CString m_str1="123,789,654,339";int count = m_str1.Replace(',', ' ');if(count<=0){printf("No data");return;}int* num = new int[count + 1];int pos = m_str1.Find(' ');int i = 0;while(pos !=原创 2013-11-26 16:31:28 · 1284 阅读 · 0 评论 -
STL 整理(map、set、vector、list、stack、queue、deque、priority_queue)
listvectoriteratorstringinsertdns服务器目录(?)[+]向量(vector) 连续存储的元素Vectorc;c.back() 传回最后一个数据,不检查这个数据是否存在。c.clear() 移除容器中所有数据。c.empty() 判断容器是否为空。c.front(转载 2013-11-28 22:50:39 · 484 阅读 · 0 评论 -
CListCtrl 列表项拖放的实现
最近在做一个好友列表,通过查找资料自己现在了CListCtrl的(内部)拖放,这里写下来和大家分享分享,同时也寻求更好更多的实现方法,如果大家有好的方法,或者其他的方法也可以分享出来; 拖放的实现总的来说可以分为三步:第一步、开始拖放,做拖放数据的初始化和记录;第二步、实现拖放的移动;第三步、删除原有数据,插入现有数据; 准备:实现(CListCtrl内部)拖放需要一个转载 2014-02-12 16:05:53 · 1196 阅读 · 0 评论 -
VS2010中的MFC工程名修改【转】
修改前的知识准备:1、解决方案相关文件AAA.sln文件和AAA.suo文件为MFC自动生成的解决方案文件,它包含当前解决方案中的工程信息,存储解决方案的设置。2、工程相关文件AAA.vcxproj文件是MFC生成的工程文件,它包含当前工程的设置和工程所包含的文件等信息。AAA.vcxproj.filters文件存放工程的虚拟目录信息,也就是在解决方案浏览器中的目录转载 2014-01-16 20:32:55 · 3925 阅读 · 1 评论 -
改变 CListCtrl、CHeaderCtrl 高度、字体、颜色和背景
摘要 用CListCtrl来显示数据比较方便,有时候我们需要标注某一列或某一个单元格的背景和字体颜色,或者需要改变一下行高和字体大小,CListCtrl要改变这些并不是很方便。本文将介绍如何派生一个类来改变CListCtrl及其表头的高度、字体大小、列背景颜色、单元格背景颜色、列字体颜色、单元格字体颜色。关键字: 自绘 子类化 颜色 CListCtrl CHeaderCtrl转载 2014-01-12 21:16:37 · 2163 阅读 · 0 评论 -
C中的内存模式(编译模式)
声明: 本文章是转载来自http://blog.csdn.net/wonengxing/article/details/6044576的文章,如果冒犯了您的权益,我会马上删除。 编译模式是指如何在内存中放置程序代码及数据,如何分配堆栈,并确认占用的内存大小及如何存取它们,当指定内存模式(编译模式)以后,语言编译程序将按事先选择好的内存模式编译组织程序,转载 2013-12-30 21:29:55 · 637 阅读 · 0 评论 -
cout 格式化输出
C语言里可以用printf(),%f来实现浮点数的格式化输出,用cout呢。。。?下面的方法是在网上找到的,如果各位有别的办法谢谢留下...iomanip.h是I/O流控制头文件,就像C里面的格式化输出一样.以下是一些常的:dec 置基数为10 相当于"%d"hex 置基数为16 相当于"%X"oct 置基数为8 相当于"%o"setfill(c) 设填充字符为c原创 2013-12-30 20:10:37 · 12101 阅读 · 0 评论 -
Base64编解码(C++版)
#include string>using namespace std;class ZBase64{public: /*编码 DataByte [in]输入的数据长度,以字节为单位 */ string Encode(const unsigned char* Data,int DataByte); /*解码原创 2013-11-29 18:10:32 · 694 阅读 · 0 评论 -
C++产生随机数
C++怎样产生随机数:这里要用到的是rand()函数, srand()函数,C++里没有自带的random(int number)函数。(1) 如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RAND_MAX 间。RAND_MAX值至少为32767。例如:[cpp] view plaincop转载 2013-11-29 13:07:29 · 566 阅读 · 0 评论