上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 36 下一页
#include "stdafx.h"#include #include #pragma comment(lib, "Shlwapi.lib")int _tmain(){ TCHAR szPath[MAX_PATH]; if(S_OK==SHGetFolderPath(NULL, CSIDL_PERSONAL|CSIDL_FLAG_CREATE, NULL, 0, szPath)) { //PathAppend(szPath, TEXT("New Doc.txt")); //HANDLE hFile = CreateFile(szPa Read More
posted @ 2014-02-28 20:29 godjob Views(487) Comments(0) Diggs(0) Edit
Download demo project - 15.7 KbContentsIntroductionVirtual listCreating a virtual listAdd items to the listHandling the LVN_GETDISPINFO messageHandling the LVN_ODFINDITEM messageHandling the LVN_ODCACHEHINT messageChanging an itemCheck boxesNotesHistoryIntroductionLet's say you have a large data Read More
posted @ 2014-02-26 10:43 godjob Views(420) Comments(0) Diggs(0) Edit
http://technet.microsoft.com/zh-CN/sysinternalshttp://technet.microsoft.com/en-us/sysinternals/bb896647我们利用debugView 命令可以自动生成log文件,而且是atomic。cmd -h就可以看到了。用ShellExeccute从codeProject 搜索debugview刚找到一些 http://www.codeproject.com/Articles/13345/DbMon-NET-A-simple-NET-OutputDebugString-capturerhttp://www. Read More
posted @ 2014-02-25 09:53 godjob Views(470) Comments(0) Diggs(0) Edit
#include "stdafx.h"void dump_machine_info( HANDLE fh ){ CHAR Str[MAX_PATH*3]; CHAR MHzStr[64]; CHAR CpuId[MAX_PATH]; CHAR VendorId[MAX_PATH]; TCHAR RegPath[MAX_PATH]; ULONG i; HKEY hKey; ULONG MHz; DWORD t; ULONG l; MEMORYSTATUS ms ; for(i=0; i<128; i++) { wsprintf(RegPath, _T("HAR Read More
posted @ 2014-02-23 12:03 godjob Views(1343) Comments(0) Diggs(0) Edit
一、MFC对多线程编程的支持 MFC中有两类线程,分别称之为工作者线程和用户界面线程。二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环。 工作者线程没有消息机制,通常用来执行后台计算和维护任务,如冗长的计算过程,打印机的后台打印等。用户界面线程一般用于处理独立于其他线程执行之外的用户输入,响应用户及系统所产生的事件和消息等。但对于Win32的API编程而言,这两种线程是没有区别的,它们都只需线程的启动地址即可启动线程来执行任务。 在MFC中,一般用全局函数AfxBeginThread()来创建并初始化一个线程的运行,该函数有两种重载形式,分别用于创建工作... Read More
posted @ 2014-01-18 17:42 godjob Views(4161) Comments(0) Diggs(0) Edit
common control 4.7版本介绍了一个新的特性叫做Custom Draw,这个名字显得模糊不清,让人有点摸不着头脑,而且MSDN里也只给出了一些如风的解释和例子,没有谁告诉你你想知道的,和究竟这个特性有什么好处。Custom draw可以被想象成一个轻量级的,容易使用的重绘方法(重绘方法还有几种,例如Owner Draw等)。这种容易来自于我们只需要处理一个消息(NM_CUSTOMDRAW),就可以让Windows为你干活了,你就不用被逼去处理"重绘过程"中所有的脏活了。这篇文章的焦点是如何在一个LISTCTRL控件上使用Custom Draw消息。究其原因,一部分是因为我已经在我 Read More
posted @ 2014-01-17 23:36 godjob Views(457) Comments(0) Diggs(0) Edit
工具栏中包含了一组用于执行命令的按钮,每个按钮都用一个图标来表示。当单击某个按钮时,会产生一个相应的消息,对这个消息的处理就是按钮的功能实现。将菜单中常用的功能放置在工具栏中,这样可以方便用户操作,省去了在级联菜单中一层层查找菜单项的麻烦。 6.2.1工具栏类CToolBar在MFC类库中,CToolBar类封装了工具栏的基本功能,CToolBar类的主要方法如下。(1)Create方法:该方法用于创建工具栏窗口。语法如下:BOOL Create( CWnd* pParentWnd, DWORD dwStyle = WS_CHILD | WS_VISIBLE | CBRS_TOP, UINTn Read More
posted @ 2014-01-13 20:43 godjob Views(657) Comments(0) Diggs(0) Edit
在Win32中自带了一些API函数,它们提供了相当于一般调试器的大多数功能,这些函数统称为Win32调试API(Win32 Debug API)。利用这些API可以做到加载一个程序或捆绑到一个正在运行的程序上以供调试;可以获得被调试的程序的底层信息,例如进程ID、进入地址、映像基 址等;甚至可以对被调试的程序进行任意的修改,包括进程的内存、线程的运行环境等。简而言之,读者可以用这些API写一个进程调试器。就像现在流行的调试器Visual C++调试器、WinDBG、OllyDbg等一样。当然除了能写调试器外,利用调试API还能做很多不同寻常的工作。3.1 Win32调试API原理3.1.1调试 Read More
posted @ 2014-01-12 15:51 godjob Views(1666) Comments(0) Diggs(0) Edit
VS2010版快捷键Ctrl+E,D ----格式化全部代码Ctrl+E,F ----格式化选中的代码CTRL + SHIFT + B生成解决方案CTRL + F7 生成编译CTRL + O 打开文件CTRL + SHIFT + O打开项目CTRL + SHIFT + C显示类视图窗口F4 显示属性窗口SHIFT + F4显示项目属性窗口CTRL + SHIFT + E显示资源视图F12 转到定义CTRL + F12转到声明CTRL + ALT + J对象浏览CTRL + ALT + F1帮助目录CTRL + F1 动态帮助F1 帮助SHIFT + F1当前窗口帮助CTRL + ALT + F Read More
posted @ 2013-11-27 11:10 godjob Views(162) Comments(0) Diggs(0) Edit
在应用程序和调试器之间传递数据是通过一个 4KB 大小的共享内存块完成的,并有一个互斥量和两个事件对象用来保护对他的访问。下面就是相关的四个内核对象:对象名称对象类型DBWinMutexMutexDBWIN_BUFFERSection (共享内存)DBWIN_BUFFER_READYEventDBWIN_DATA_READYEvent互斥量通常一直保留在系统中,其他三个对象仅当调试器要接收信息才出现。事实上 - 如果一个调试器发现后三个对象已经存在,它会拒绝运行。当 DBWIN_BUFFER 出现时,会被组织成以下结构。进程 ID 显示信息的来源,字符串数据填充这 4K 的剩余部分。按照约定, Read More
posted @ 2013-11-26 19:16 godjob Views(1731) Comments(0) Diggs(0) Edit
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 36 下一页