摘要: 会使用工具是人类文明的一大进步,今天敏捷大行其道,好的工具可以大大的提高生产力,这里说的工具都是VS平台上的扩展工具,一些机械的部分可以交给工具去处理,自己多关注其他部分。下面分享下我觉得不错的工具,很多也是同事推荐给我的。一、NuGet :组件管理神器用了VS,NuGet都没装,你可以去面壁去了。它为我们提供了丰富的组件库,下载,安装,引用,瞬间完成。如果你还是先下下来,安装,再浏览式的引用到工程,那太慢了。而且下次要找都不知道丢哪儿了。NuGet 将组件安装到具体工程:引用之后,会有一个package.config的文件,记录你在当前工程下,你用Nuget安装的组件:View Code在工 阅读全文
posted @ 2013-12-28 12:47 Zucc_zt 阅读(264) 评论(0) 推荐(0) 编辑
摘要: MFC Edit的常用风格控件风格含义ES_AUTOHSCROLL当用户在行尾键入一个字符时,正文将自动向右滚动10个字符,当用户按回车键时,正文总是滚向左边。ES_AUTOVSCROLL当用户在最后一个可见行按回车键时,正文向上滚动一页。ES_CENTER在多行编辑框中使正文居中。ES_LEFT左对齐正文。ES_LOWERCASE把用户输入的字母统统转换成小写字母。ES_MULTILINE指定一个多行编辑器。若多行编辑器不指定ES_AUTOHSCROLL风格,则会自动换行,若不指定ES_AUTOVSCROLL,则多行编辑器会在窗口中正文装满时发出警告声响。ES_NOHIDESEL缺省时,当编 阅读全文
posted @ 2013-12-23 16:20 Zucc_zt 阅读(507) 评论(0) 推荐(0) 编辑
摘要: 用户如何修复他们的代码中的 Bug?您设置一些断点、在调试器下运行程序、进行一点单步调试 – 并祈求能够轻而易举地发现问题,这样您就能继续处理其他事情。几乎自 ENIAC 发明以来,我们就一直在进行着同样方式的调试。这种繁琐而耗时的调试方法为我们提供了很好的帮助,但是时候使调试更加轻松了。随着 Visual Studio 2010 Ultimate 的发布,新的 IntelliTrace 功能使开发人员能够更深入地了解应用程序的执行情况,从而使调试进入了 21 世纪。与其他监视和跟踪工具(例如 Windows Sysinternals 中的 Process Monitor)非常类似,Visua 阅读全文
posted @ 2013-12-10 11:17 Zucc_zt 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。http://mazhibin.blog.51cto.com/4842922/894427 在编写控制台程序的时候我们经常会使用printf输出调试信息,使我们了解程序的状态,方便调试,但是当编写非控制台程序的时候这种方法就行不通了,那我们应该怎么办?上网查了一些方法,大致就如下几种使用Log机制用TRACE宏其他 首先,使用Log机制的话要先写一个Log系统,麻烦。而关于TRACE宏,查了资料后才发现原来是MFC里的东西,那对于非MFC程序,就用不了了。 后来发现了OutputDebug... 阅读全文
posted @ 2013-12-09 15:38 Zucc_zt 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 记得前一段时间,我刚接触软件破解和逆向这一行时,对于一些软件不知从何处跟踪按钮消息,试了好多方法,就是断不下来,在系统模块中经常转得晕头转向,而一无所获。MFC程序是一种常见类型的程序,我静下心来,潜心研究了一下MFC消息流程。弄清原委之后,一切豁然开朗,发现跟踪MFC程序和消息处理原来是如此。。。,跟踪按钮事件处理也由此变得特别简单。于是,我将这些研究整理成文,以备后忘。并希望对和我一样的菜鸟有所帮助,有误之处,请高手指正。本文目的就是以一个MFC的标准对话框程序为例,同时从源码和反汇编代码两方面来研究MFC消息的流程走向,弄清MFC消息路径的所有站点,这样就可以任意定位MFC的所有消息事件 阅读全文
posted @ 2013-12-07 16:13 Zucc_zt 阅读(1483) 评论(0) 推荐(0) 编辑
摘要: 在VC++编程中常需获取控件或窗体句柄,下面总结几种方法在VC++编程中常需获取控件或窗体句柄,下面总结了几种方法,还希望大家能多多补充。1、自身窗口句柄可用AfxGetMainWnd获取。2、系统中其他APP的窗口句柄可用FindWindow获取(用SPY帮一下忙). HWND hBtnClose; HWND hWnd=::FindWindow(NULL,"腾讯QQ系统广播"); if(hWnd) { hBtnClose=GetDlgItem(hWnd,2); if(hBtnClose) PostMessage(hBtnClose,BM_CLICK,NULL,NULL); 阅读全文
posted @ 2013-12-07 15:53 Zucc_zt 阅读(890) 评论(0) 推荐(0) 编辑
摘要: 关于句柄在Windows编程中我们时刻接触到一个称为句柄(HANDLE)的东西。可以这样去理解句柄,Windows程序中产生的任何资源(要占用某一块或大或小的内存),如图标,光标,窗口,应用程序的实例(已加载到内存运行中的程序)。操作系统每产生一个这样的资源时,都要将它们放入相应的内存,并为这些内存指定一个唯一的标识号,这个标识号即该资源的句柄。操作系统要管理和操作这些资源,都是通过句柄来找到对应的资源的。按资源的类型,又可将句柄细分成图标句柄(HICON),光标句柄(HCURSOR),窗口句柄(HWND),应用程序实例句柄(HINSTANCE),等等各种类型的句柄。操作系统给每一个窗口指定的 阅读全文
posted @ 2013-12-07 15:52 Zucc_zt 阅读(192) 评论(0) 推荐(0) 编辑
摘要: CImageList::Create()CImageList::CreateBOOL Create( int cx, int cy, UINT nFlags, int nInitial, int nGrow );BOOL Create( UINT nBitmapID, int cx, int nGrow, COLORREF crMask );BOOL Create( LPCTSTR lpszBitmapID, int cx, int nGrow, COLORREFcrMask );BOOL Create( CImageList& ImageList1, int nImage1, CIm 阅读全文
posted @ 2013-12-06 13:58 Zucc_zt 阅读(2039) 评论(0) 推荐(1) 编辑
摘要: intn=0;//层数HTREEITEMhItem,hItemParent;hItem=m_TreeCtrl.GetSelectedItem();hItemParent=m_TreeCtrl.GetParentItem();while(hItemParent){n++;hItemParent=m_TreeCtrl.GetParentItem(hItemParent);} 阅读全文
posted @ 2013-12-06 09:05 Zucc_zt 阅读(266) 评论(0) 推荐(0) 编辑
摘要: CEdit重新审视一个从没想过的问题今天终于出现了!我自己都感到以外!呵呵,什么问题呢?可能你也没想过哦。即使想过,你解答了没有?是一个聊天的程序,类似于QQ的界面。简化一点说把。(注意是简化)一个基于对话框的的程序,只有2个编辑框m_edit1,m_edit2, 还有一个是按钮。现在我要做的就是在 m_edit2中输入,然后点击按钮,内容就跑到了m_edit1中。并且每次点击后,上次m_edit1的内容还会留下来,当然是聊天嘛,每次发送的内容要在m_edit1的最后显示。呵呵,听起来很简单哦注意我最后一句话。如果你采用连加的话,像这样:m_edit1.GetWindowText(m_str1 阅读全文
posted @ 2013-12-04 17:04 Zucc_zt 阅读(849) 评论(0) 推荐(0) 编辑