技术
文章平均质量分 58
thankall
平凡的人想做做出不平凡的事应该怎么办?
保持自己的个性。
展开
-
此问题理解有误,删除之以防误倒别人
内容已删除原创 2007-06-02 19:36:00 · 489 阅读 · 3 评论 -
How the Framework Calls a Handler(译自MSDN)
/* 编程框架调用消息响应函数的原理 1:消息的发送与接收 大多数的消息来源于用户与程序的交互。命令消息来源于鼠标对菜单及工具栏的 点击及快捷键的按下。当用户改变窗口的大小或位置时,也会产生消息。另外, 当启动或关闭程序及窗口得到或失去焦点时也会产生普通消息。控件通知消息产生 自己鼠标对控件的操作,比如对话框上的按钮或列表框被点击时。 类CWinApp的R翻译 2008-09-01 21:55:00 · 453 阅读 · 0 评论 -
更新UI对象
/* 更新UI对象 常规情况下,菜单和工具栏按钮可以有多种状态。例如,菜单不可用时可以置灰,菜单 正在被使用时可以设定为选中状态。同样工具栏也有这些状态。 谁来更新这些可变状态项的状态?从逻辑上讲,如果一个菜单项产生了一个命令消息, 此消息会被文档处理,那么由文档去更新可变状态项的状态更有意义,文档中应该包括 可变状态项的状态信息。 如果一个命令对应多个U翻译 2008-09-02 22:02:00 · 922 阅读 · 1 评论 -
函数错误处理二(总结自己windows编程核心)
/* 1:定义自己的错误码 微软的错误码返回机制也适用于我们自己写的函数。 为了表示一个错误,通常情况下设置一个线程的最后错误码然后函数再返回一个 不可用值就可以了,比如NULL,FALSE,INVALID_HANDLE_VALUE等任何想返回的值。 设置线程的最后错误码可以使用函数: VOID SetLastEr原创 2008-09-03 10:56:00 · 524 阅读 · 0 评论 -
什么是内核对象
/* 什么是内核对象 内核对象可通过调用各种各样的函数创建,这些函数需要传递一个与使用在内核 层的内核对象的类型不太一致的名称。比如,函数CreateFileMapping会告诉OS 去创建一个与区域对象(Section Object)相关的文件映射。每一个内核对象其实 是一个由内核定位的内存块且这个内存块只能被内核访问。内存块是一个数翻译 2008-09-09 11:21:00 · 1952 阅读 · 2 评论 -
进程的内核对象句柄表
/* 当进程初始化的时候,系统会为其分配一个句柄表。该句柄表只用于内核对象。 具体该句柄表在系统中是种怎样的结构和是怎么被系统管理的,现在没有说明文档。 进程句柄表的大体结构如下: Index Pointer to kernal object memory block Access Mask Flags*/翻译 2008-09-10 15:29:00 · 1861 阅读 · 0 评论 -
微架构或重构
如果出现这种情况,如果不重新设计方案,以现在的代码为基础进行修改肯定不能好的解决问题,那就要试着重新设计了。 可以在局部进行架构,或微架构,重构不比架构好。重构不能从根本上解决问题,而架构可以。 一个系统,分层要明确,不能因为一个子系统需要这个功能就把这个功能添加到这个子系统中。试着添加一个中间层,效果会更好。原创 2008-09-12 12:06:00 · 553 阅读 · 0 评论 -
DIB,设备无关图
/* 设备无关图 DIB 设备无关图包含一个颜色表,该表用于描述像素值与RGB颜色值的对应关系。 设备无关图的意思是这种类型的位置能够在任何设备上找到一个合适的颜色方案。 一个设备无关图包含下述的颜色和尺寸信息: 创建矩形图片的设备的颜色格式 创建矩形图片的设备的分辨率 创建矩形图片的设备的调翻译 2008-09-11 10:13:00 · 911 阅读 · 0 评论 -
msiexec命令行安装 命令行无界面安装ajax
Windows (R) Installer. V 3.01.4000.3959 msiexec /Option [Optional Parameter]安装选项 安装或配置产品 /a 管理安装 - 在网络上安装产品 /j [/t ] [/g ] 播发产品 - m 播发到所有用户,u 播发到当前用户 卸载产品显示选项 /quiet 安静模式,无用户交互 /passiv转载 2008-09-19 17:12:00 · 1033 阅读 · 0 评论 -
模块划分:平台类,数据类,方法类
Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE原创 2008-10-07 16:13:00 · 716 阅读 · 0 评论 -
编码风格
养成自己的编码风格。指针delete之后,再加一个句:ptr = NULL;因为常常还会用到这个变量,为确保错误不发生,添加这一行!原创 2008-10-10 09:54:00 · 591 阅读 · 0 评论 -
什么是COM组件(源于互联网)
COM是开发软件组件的一种方法。组件实际上是一些小的二进制可执行程序,它们可以给应用程序,操作系统以及其他组件提供服务。开发自定义的COM组件就如同开发动态的,面向对象的API。多个COM对象可以连接起来形成应用程序或组件系统。 COM是Component Object Model (组件对象模型)的缩写。 用户需要什么样的软件产品?这是一个多选题,但高效,健壮是肯定会被选种的转载 2009-01-15 10:08:00 · 3151 阅读 · 2 评论 -
UML 基础: 类图
UML 基础: 类图 详细请点击这里。转载 2009-01-17 16:13:00 · 535 阅读 · 0 评论 -
利用Rational Rose进行C++代码的逆向工程介绍
利用Rational Rose进行C++代码的逆向工程介绍转载 2009-01-19 14:31:00 · 518 阅读 · 0 评论 -
函数错误处理一(总结自windows编程核心)
/* Error Handling Part 1 当我们调用Windows函数的时候,函数会验证我们给它传递的参数,如果参数不 正确或由于其它一些原因函数没能正确执行,则函数会以返回值的形式告诉调用 者函数出错了。 常见的返回值: VOID: 这种函数值说明函数不可能出错,只有极少数的Windows函原创 2008-09-02 15:27:00 · 1055 阅读 · 0 评论 -
How the Framework Searches Message Maps(译自MSDN)
/* 本文翻译自MSDN的How the Framework Searches Message Maps章节 对于接收到的消息,编程框架会通过消息映射表查找合适的消息处理函数。只要 你写了针对指定消息的消息映射入口和相应的消息处理函数,编程框架会自动地 调用你写的消息处理函数去处理相应的消息。 1:哪儿能找到消息映射翻译 2008-09-02 11:58:00 · 527 阅读 · 0 评论 -
代言人?代言品牌?
现在所有的厂商在推销自己的产品时,都请名人代言。 今天突然想着能不能一些用知名品牌为自己代言。 比如intel给amd做广告,yahoo用google做广告。 如此的广告可以实现双向的推广,大家都是一个系列的产品,大家在市场上公平竞争,使用的决定权在用户手中。 比如,amd说:”连intel都怕我更加壮大,可见我现在已经很强大,产品肯定不错“。 这样子的话,原创 2008-08-18 21:52:00 · 690 阅读 · 0 评论 -
SendMessage小译下。。。
/* 说明: 此函数用于将指定的消息发送给一个或多个窗口, 它会调用相应窗口的窗口过程来处理其发送的消息, 等到处理完成之后其才会返回。 如果想发送消息后立即返回,可以使用SendMessageCallback 或者SendNotifyMessage。 如果想将一个消息投掷到接收线程的消息队列中并立即返回,翻译 2008-08-22 17:40:00 · 474 阅读 · 0 评论 -
消息与消息队列一(译自MSDN的About Message and Message Queue)
/*关于消息和消息队列1:概述 与基于DOS的应用程序不同,Windows应用程序是消息驱动的。它不会直接调用函数以获得输入, 而是等等 操作系统给它们提供输入。 在应用程序中,系统会为程序的各种窗口传递所有的输入。每一个窗口都有一个处理函数, 它可以被称之为 窗口过程,只要有针对该窗口的输入,操作系统就会调用该窗口的窗口过翻译 2008-08-24 14:10:00 · 1158 阅读 · 0 评论 -
消息与消息队列二(译自MSDN的About Message and Message Queue)
/* 窗口过程 窗口过程是一个函数,它会处理所有发送至与其关联的窗口的消息,每个窗口类都有一个 窗口过程,同一窗口类的所有窗口共用一个窗口过程。 系统以参数的方式将消息发送到窗口过程,然后窗口过程会根据消息采取合适的操作,它会 检查消息的标识符,处理时会参考消息里的附加信息。翻译 2008-08-25 21:36:00 · 583 阅读 · 0 评论 -
消息与消息队列三(译自MSDN的About Message and Message Queue)
/* 消息死锁 程序通过SendMessage发送消息之后,在接收消息的窗口过程返回之前,发送消息 的线程都不能再执行。如果此时接收消息的线程又把控制权交给了其它的线程,那么 发送消息的线程便不能再继续执行了,因为接收消息的窗口过程已无法进行返回。 如是接收消息的线程与发送消息的线程共用一个消息队列的话,就会翻译 2008-08-26 21:11:00 · 559 阅读 · 0 评论 -
设备上下文(About Device Contexts),译自MSDN,权当学习的过程
/* 1:图形对象: 当画笔,画刷,位图,调色板,区域,路径与一个DC相关联的时候,我们就称之为 一个图形对象。下面列出了每种对象的关联属性: 位图: 以字节为单位的大小 以像素为单位的尺寸 颜色格式 压缩算法等翻译 2008-08-28 11:59:00 · 888 阅读 · 0 评论 -
设备上下文
/* 设备上下文 设备上下文是一个结构,它定义了一系列的图形对象,与图形对象相关的属性,及 影响输出效果的图形模式。 设备独立是微软视察操作系统的一个主要特点,应用程序可以在一系列的设备上描画 与打印输出。支持设备独立的软件被包含在两个动态链接库中,一个是图形设备接口翻译 2008-08-28 20:31:00 · 472 阅读 · 0 评论 -
获取图形对象的属性及选入新的图形对象
/* 2:获取图形对象的属性及选入新的图形对象 应用程序可以使用函数GetCurrentObject和GetObject来获得图形对象的属性。前者 用于返回唯一标识刚刚被选入到DC中的图形对象的句柄,后者会返回一个描述图形对象 属性的结构体。 下面的例子演示了程序如何获得画刷的属性并通过与其相关的信息来决定是否有必要重新 选入一个新的画刷。*/翻译 2008-08-28 21:13:00 · 566 阅读 · 0 评论 -
获得显示器的相关信息
/* 下面的例子说明了如何使用函数EnumDisplayDevice获得显示器的信息.*/BOOL GetDisplayMonitorInfo(int nDeviceIndex, LPSTR lpszMonitorInfo){ FARPROC EnumDisplayDevices; HINSTANCE hInstUser32; DI翻译 2008-08-29 14:49:00 · 1998 阅读 · 3 评论 -
在视图上描绘
/* DC的分类: 设备上下文是一个包含了设备属性等信息的Windows数据结构,所有与描画相关的 函数调用都是通过DC对象完成的,DC对象封装了WindowsAPI函数.DC允许设备独立 地在系统是进行描画,可以描画到显示器上,打印机及中间文件上. CPaintDC封装了Windows的常用描画流程:先调用BeginPaint,然翻译 2008-08-29 15:51:00 · 502 阅读 · 0 评论 -
访问运行时类的信息
/* 这篇小短文告诉我们如何在运行时取得一个类对象的信息 如果你是从类CObject派生的类且还使用了宏DECLARE_DYNAMIC和IMPLEMENT_DYNAMIC, DECLARE_DYNCREATE和IMPLEMENT_DYNCREATE或者DECLARE_SERIAL和IMPLEMENT_SERIAL, 那么CObject就可以在运行翻译 2008-09-01 14:50:00 · 765 阅读 · 0 评论 -
编程框架中的消息与命令
/* 编程框架中的消息与命令 编程框架对消息与命令进行了必要的调整,使程序处理消息更容易,更易维护与封装。 1:消息 类CWinApp的成员方法Run函数中有一个消息循环,它会从消息队列中提取由各种 事件产生的消息。编程框架对消息循环的实现方式是提取消息,解析消息和分发消息。 2:消息处理函数 在MF翻译 2008-09-01 17:36:00 · 525 阅读 · 0 评论 -
窗口区域和客户区域
/* GetClientRect 此函数用于取得窗口的客户区坐标。客户区即窗口客户区的左上角和右下角之间 的区域。客户区坐标的原点位于窗口客户区的左上角,即用此函数得到的坐标的 原点是窗口客户区的左上角,左上角的的坐标值为(0,0)。 返回值: 成功时返回非0,失败时返回0 注意: 在与结构RECT翻译 2008-09-02 09:14:00 · 1341 阅读 · 0 评论 -
3G(3rd Generation)
3G是英文3rd Generation的缩写,指第三代移动通信技术。相对第一代模拟制式手机(1G)和第二代GSM、TDMA等数字手机(2G),第三代手机一般地讲,是指将无线通信与国际互联网等多媒体通信结合的新一代移动通信系统。它能够处理图像、音乐、视频流等多种媒体形式,提供包括网页浏览、电话会议、电子商务等多种信息服务。为了提供这种服务,无线网络必须能够支持不同的数据传输速度,也就是说在室内、室外转载 2009-02-01 13:27:00 · 777 阅读 · 0 评论