Welcome 微信登录

首页 / 软件开发 / C++

对“仅通过崩溃地址找出源代码的出错行”一文的补充与改进

对“仅通过崩溃地址找出源代码的出错行”一文的补充与改进

对“仅通过崩溃地址找出源代码的出错行”一文的补充与改进2010-07-20roc读了老罗的“仅通过崩溃地址找出源代码的出错行”(下称"罗文")一文后,感觉该文还是可以学到不少东西的。不过文中尚存在有些说法不妥,以及有些操作太繁琐的地方 。为此,本人在学习了此文后,在多次实验实践基础上,把该文中的一些内容进行补充与改进,希望对大家调试程序,尤其是release版本的程序有帮助 。欢迎各位朋友批评指正。一、该方法适用...
Windows中断编程

Windows中断编程

Windows中断编程2008-01-05一、前 言Windows提供强大的功能以及友好的图形用户界面(GUI),使得它不仅广泛的用作管理事务型工作的支持平台,也被工业领域的工程人员所关注。但Windows3.1并非基于优先级来调度任务,无法立即响应外部事件中断,也就不能满足工业应用环境中实时事件处理和实时控制应用的要求。因此,如何在Windows环境中处理外部实时事件一直是技术人员尤其是实时领域工程人员所关注的问题。目前已有的方法大都采用内挂实时多任务内...
仿QQ悬挂窗口的实现

仿QQ悬挂窗口的实现

仿QQ悬挂窗口的实现2010-07-20 vckbase 郑瑜上过QQ的朋友们都知道,当QQ窗口位于桌面的左边界、右边界或顶部的时候,QQ会自动隐藏起来;而一旦鼠标再次接触到上述边界的时候,QQ窗口又会自动展开。QQ的这种特效在一定程度上大大的节约了桌面资源,给使用者带来的方便。QQ悬挂窗口主要特点就是结合窗口以及鼠标的位置,并通过鼠标事件来调整窗口的显示方式。其中,窗口以及鼠标的位置可以通过GetWindowRect和GetCursorPos这两个函数来...
动态截获并显示窗口DC

动态截获并显示窗口DC

动态截获并显示窗口DC2010-07-20冰龙我在网上看到很多屏幕截取的文章,相信大家也看过不少。人类每一次的进步总是建立在别人的基础之上,我今天要做得是如何将一个窗口动态地显示在另外一个窗口上。方法很简单,核心算法是要完成对一个窗口DC显示到另外一个窗口的DC,为了方便代码的重用,我特地把它放到一个自己编写的函数:BOOL CShow_WindowDCView::Show_WindowDC(CWnd *pWndDest /*目标窗口的wnd指针*/,CW...
在CB6下基于api函数编写串口通信程序简介

在CB6下基于api函数编写串口通信程序简介

在CB6下基于api函数编写串口通信程序简介2008-01-051-在C++ Builder 6.0下基于api函数编写串口通信程序简介:在dos/win95/win98的年代,操作对串口是不保护的,也就是说将串口的的资源完全开放给用户,用户可以用直接操作硬件的函数(比如说TC2.0下的inport()和outport()函数) 跟串口直接打交道,这时候用户使用直接操作串口的函数怎样"折磨"串口都是没有问题的,操作系统根本就不管不问,对...
Spy++原理初探

Spy++原理初探

Spy++原理初探2010-07-20 vckbase 宋陈三打开VC集成开发环境,建立一个基于对话框的工程。我们把这个工程取名为SpyXX。在窗体中画上一个图片框控件(Picture)、一个静态文本控件(Static)、两个复选框控件(Check Box)和一个选项卡控件(Tab Control)。界面设计如下图。探测器的制作需要两个图标文件(.ico)和一个鼠标光标文件(.cur),分别用于正常状态下的显示、鼠标拖出时的显示以及拖出时的鼠标指针;这些资...
MSDN帮助集成指南(将HTML Help帮助集成到MSDN库)

MSDN帮助集成指南(将HTML Help帮助集成到MSDN库)

MSDN帮助集成指南(将HTML Help帮助集成到MSDN库)2010-07-20NorthTibet介绍很早以前我就想过将一些常用的HTML Help帮助信息(也就是CHM文件)集成到MSDN库中,但一直都没有找到好的办法。有一天我偶然上了codejoke的网站,发现了它:MSDN Integration,这不就是我梦寐以求的吗?真是梦里寻她千百度,蓦然回首她就在网络某一处 ......而且,更令人喜出往外的是这个实用程序还提供全部的源代码。我下载下来...
奇技淫巧C++之返回值重载

奇技淫巧C++之返回值重载

奇技淫巧C++之返回值重载2008-01-05C++当然是不能仅仅通过返回值重载函数的,但是,我们往往会想:要是支持返回值重载就好了。现在,我就从C++的某个颇受争议的角落,为您发掘一点东西。假设有这样一个函数:type getvalue(const DBField& fd);可是,DBField实际的数据类型对于getvalue来说,并不了解,一个常见的解决方案是:template<typename T>T getvalue(cons...
一个简单的读写注册表实例

一个简单的读写注册表实例

一个简单的读写注册表实例2010-07-20小鹰一、说明:注册表是Windows重要组成部分,注册表记录了大量有关电脑软硬件的信息。注册表中的值通过其名称标识。值名称由与键名相同的字符组成。值本身可以是字符串、二进制数据或者是32位无符号值。在这里我们主要运用以下技巧:(一)、预定义的注册表键。注册表包含了几个预定义键:HKEY_LOCAL_MACHINE 包含描述计算机及其配置的条目。其中包括关于处理器、系统主板、内存和已安装的软件和硬件的信息。HKEY...
More Effective C++之智能指针

More Effective C++之智能指针

More Effective C++之智能指针2008-01-05韩羽智能指针具有非常强大的能力,谨慎而明智的选择能带来极大的好处。我不否认智能指针的能力,虽然我在之前的否认过auto_ptr。可能由于我自身能力的限制,体会不到auto_ptr的好处,但这样的可能性我觉得已经不大了。但auto_ptr是最简单的智能指针,在它的周围存在大量的作品,这些作品包括Boost、Loki、ACE等等,但是可惜的是目前没有一个我能够说我很熟悉,那么本篇只是作为一个入门...
关于CEdit控件的透明

关于CEdit控件的透明

关于CEdit控件的透明2010-07-20monsoon前几天和风在这里讨论关于CEdit控件的透明问题。主要的目的就是要做一个有图形背景的Edit控件,经过一番努,终于做出了一个还算象样的Edit控件。做一个透明的Edit控件的主要问题是字符的输出,在Edit里输出的刷新有几个时机,一个是在接收到键盘或鼠标消息的时候 ,还有就是在接收到WM_PAINT消息。刷新的时候也不是全部重画,所以想通过在继承的Edit类中处理WM_PAINT消息是行不通的。但是...
乌托邦式接口和实现分离技术

乌托邦式接口和实现分离技术

乌托邦式接口和实现分离技术2008-01-05《Imperfect C++》中展示了一种叫“螺栓”的技术,然而,这本书中的讨论并不足够深入。当然,我也相信Matthew是故意的,从而让我们这些“三道贩子”(Matthew自称是二道贩子)也能够获得一点点成就感。考虑这样一个接口设计:struct IRefCount;struct IReader : public IRefCount;在Reader中实现接口:<...
通过串口实时接收短消息

通过串口实时接收短消息

通过串口实时接收短消息2010-07-20bhw98一年前本人曾写过“通过串口收发短消息(上)、(下)”两篇文章,讨论了在TE(PC、单片机系统等)上利用扩展的AT指令控制ME(手机,GSM模块等)发送和接收短消息的基本方法。其中接收/阅读短消息采用主动查询的方法。TE发送“AT+CMGL”指令,ME则输出已接收和存储的短消息。这比较符合AT指令集的精神:有问有答,一问一答。但在实际应用中,发现这种方法存在一...
巧用Visual C++编程来实现全屏幕显示功能

巧用Visual C++编程来实现全屏幕显示功能

巧用Visual C++编程来实现全屏幕显示功能2010-07-20刘涛前言:在Visual C++编程中,有时需要采用尽量大的区域来作为显示区域,那么实现程序的全屏幕显示就不失为一种很好的选择了,所谓全屏幕显示,就是程序界面上没有菜单条、工具条等附加项,整个显示屏幕作为一个显示窗口来显示数据或图像,Windows的很多应用程序都提供了全屏幕显示功能,如Word、Excel和IE等。本例通过响应鼠标单击在全屏幕上画数字曲线来说明如何实现程序的全屏幕显示。一...
定制个性化的对话框窗口类

定制个性化的对话框窗口类

定制个性化的对话框窗口类2010-07-20赖锋相信很多人在VC下开发程序的时候大多都会采用基于对话框的开发吧,我也不例外,大多数的小型测试程序没有必要开发基于文档/视图的结构来测试,只要使用一些基本的对话框程序就可以达到这个目的 。但是在开发基于对话框的程序时,要使用到一些 Spy++ 的功能检测的时候,就会出现一些问题。什么问题呢?当我使用 Spy++ 去检测一个对话框的窗口类 时,并想得到一个对话框的窗口类,以便我在使用钩子的时候可以指定一个对话框进...
<< 51 52 53 54 55 56 57 58 59 60 >>