自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (3)
  • 收藏
  • 关注

原创 编程一定要初始化变量

 手里有一个项目的代码,需要我去修改。改完以后发现debug版和release版的结果不一样,调试了好半天也不知到怎么回事,然后经过同事的跟踪,发现是变量未初始化的问题。debug时,如果变量未初始化,变量就会自动被赋成很大一个数,release时,如果变量未被初始化,变量就会被赋成0。(以上所说的变量指的是局部变量,其他例如全局变量可能也有这种问题)这就是区别,这区别影响可大了!!!以后

2009-04-08 15:45:00 864

原创 VS2005---MFC应用程序向Win32DLL程序转换

本次项目有两个工程,一个是VS2005工程,一个是VC6工程。对于这两个工程,先是做的MFC exe应用程序,然后客户又要求把exe转换成dll工程,因此就开始了痛苦的转换工程。本章将要记录的是VS2005工程的转换。下一章将记录的是另一个VC6工程的转化。两个IDE平台下的转换方法不能通用,不知道为什么啊! 新建立了DllMain.cpp、entpoint.cpp、API.cpp 、XX

2009-03-25 21:45:00 3169 2

原创 麻烦的vector.erase 函数

 今天做项目(VS2005环境),遇到需要对vector元素进行删除的操作,具体是:     一个FlexGrid控件表格,数据从第一行开始顺序的存储到一个vector中(即第一行数据 save 到 vector[0],第二行数据 save 到vector[1], 依次类推),当对FlexGrid表格进行多行删除时,需要根据行号对应地删除vector中相应的元素()。      具

2009-03-18 17:17:00 2696

转载 InstallShield如何调用c++的dll

教程    1 用c++ 6 新建一个非mfc的dll工程sss,选择生成“a symbol that exports some symbols”    2 在sss.h的最后加入以下代码    extern "C"  __declspec(dllexport)  int _cdecl MyDllFunc(int a);    3 在sss.cpp的最后加入以下代码:    int MyDll

2009-03-14 13:59:00 3816 1

转载 installshield安装包多语言解决方案

 下面介绍一下安装包的多语言解决方法1、        在源码中建立不同语言的DLL文件实现方法:在源码中创建DLL资源文件,然后在dll文件中添加一个rc文件,编辑rc文件,编辑完成后进行编译。    DLL文件创建方法:在file->New->others->New页面中选择 DLL Wizard创建DLL文件,创建完成后,在保存该DLL文件的目录下新建一个文档,将其后缀名改为rc,然后在

2009-03-14 12:59:00 7567

转载 使用CryptoAPI对文件进行加密解密

 作为 Microsoft Windows 的一部分提供的应用程序编程接口 (API)。CryptoAPI 提供了一组函数,这些函数允许应用程序在对用户的敏感私钥数据提供保护时以灵活的方式对数据进行加密或数字签名。实际的加密操作是由称为加密服务提供程序 (CSP) 的独立模块执行。  因为过于复杂的加密算法实现起来非常困难,所以在过去,许多应用程序只能使用非常简单的加密技术,这样做的结果就是加

2009-02-25 15:06:00 7479 7

原创 MSDN原文例子:Verifying the Signature of a PE File

  源自:http://msdn.microsoft.com/en-us/library/aa382384(VS.85).aspx The WinVerifyTrust API can be used to verify the signature of a portable executable file.The following example shows how t

2009-02-25 14:37:00 2313

转载 转载:验证微软数字签名 (VC6下用loadlibry等导入相关函数)

VC6下并使用动态的方式调用WinTrust API filename:MicrosoftVerify.h #ifndef _MICROSOFTVERIFY_H_#define _MICROSOFTVERIFY_H_//filename:MicrosoftVerify.h//ò????á11?¨ò?à′×?ReactOS#include "windows.h"t

2009-02-25 11:25:00 3969 1

转载 Verify Signed Drivers Programatically in C++

 So i had this week I had to figure out how to determine if a driver is signed for a little project of mine. This involves being signed by a code certificate OR by Microsoft via WHQL (which includ

2009-02-24 14:26:00 1357

原创 VCKBase上的文章:Microsoft CryptoAPI加密技术

 http://www.vckbase.net/document/viewdoc/?id=974

2009-02-23 16:56:00 858

转载 转载:验证微软数字签名

 转载出处:Submitted by 李马 on 2007, March 28, 12:00 PM               http://www.titilima.cn/show-184-1.html     有的朋友问李马July的数字签名验证是如何做的,所以李马把July中的这段代码共享如下,在Win2K sp4/WinXP sp2上调试通过。以下是代码 B

2009-02-23 16:06:00 2693

原创 windows程序设计--colors1程序

 // COLORS1.cpp : Defines the entry point for the application.//#include "stdafx.h"#include "COLORS1.h"#define MAX_LOADSTRING 100// Global Variables:HINSTANCE hInst;        // current instanceTC

2009-01-13 17:42:00 1289

原创 鼠标下

 拦截鼠标一个窗口消息处理程序通常只在鼠标光标位于窗口的显示区域,或非显示区域上时才接收鼠标消息。一个程序也可能需要在鼠标位于窗口外时接收鼠标消息。如果是这样,程序可以自行「拦截」鼠标。别害怕,这么做没什么大不了的。设计矩形为了说明拦截鼠标的必要性,请让我们看一下BLOKOUT1程序(如程序7-6所示)。此程序看起来达到了一定的功能,但它却有十分严重的缺陷。程序7-6 BLOK

2008-12-29 15:08:00 1246

原创 鼠标

 鼠标是有一个或多个键的定位设备。虽然也可以使用诸如触摸画面和光笔之类的输入设备,但是只有鼠标以及常用在膝上型计算机上的轨迹球等才是渗透了PC市场的唯一输入设备。情况并非总是如此。当然,Windows的早期开发人员认为他们不应该要求使用者为了执行其产品而必须买只鼠标。因此,他们将鼠标作为一种选择性的附加设备,而为Windows中的所有操作以及applet提供一种键盘接口(例如,查看Wind

2008-12-16 09:52:00 1438

原创 键盘--外语键盘问题(英文)

 The Foreign-Language Keyboard ProblemIf youre running the American English version of Windows, you can install different keyboard layouts and pretend that youre typing in a foreign language. Yo

2008-12-02 09:56:00 1510

原创 键盘--外语键盘问题

 外语键盘问题如果您执行美国英语版本的Windows,那么您可安装不同的键盘布局,并输入外语。可以在 控制台的键盘中安装外语键盘布局。选择 语系页面标签,按下新增 键。要查看死键的工作方式,您可能想安装「德语」键盘。此外,我还要讨论「俄语」和「希腊语」的键盘布局,因此您也可安装这些键盘布局。如果在「键盘」显示的列表中找不到「俄语」和「希腊语」的键盘布局,则需要安装多语系支持:从「控制台」中

2008-12-02 09:46:00 2808

原创 键盘--字符消息(英文)

  Character MessagesEarlier in this chapter, I discussed the idea of translating keystroke messages into character messages by taking shift-state information into account. I warned you that shift-st

2008-12-02 09:45:00 1120

原创 键盘--字符消息

 字符消息前面讨论了利用位移状态信息把按键消息翻译为字符消息的方法,并且提到,仅利用转换状态信息还不够,因为还需要知道与国家/地区有关的键盘配置。由于这个原因,您不应该试图把按键消息翻译为字符代码。Windows会为您完成这一工作,在前面我们曾看到过以下的程序代码:while (GetMessage (&msg, NULL, 0, 0)) {

2008-12-02 09:43:00 3485 3

原创 键盘--谁获得了焦点(英文)

 Whos Got the Focus?Like all personal computer hardware, the keyboard must be shared by all applications running under Windows. Some applications might have more than one window, and the keyboard

2008-11-26 23:26:00 1163

原创 键盘--谁获得了焦点

谁获得了焦点与所有的个人计算机硬件一样,键盘必须由在Windows下执行的所有应用程序共享。有些应用程序可能有多个窗口,键盘必须由该应用程序内的所有窗口共享。回想一下,程序用来从消息队列中检索消息的MSG结构包括hwnd字段。此字段指出接收消息的窗口控件码。消息循环中的DispatchMessage函数向窗口消息处理程序发送该消息,此窗口消息处理程序与需要消息的窗口相联系。在按下键盘上的键

2008-11-26 23:25:00 1918

原创 图形基础---矩形、区域和剪裁

 矩形、区域和剪裁Windows包含了几种使用RECT(矩形)结构和「区域」的绘图函数。区域就是屏幕上的一块地方,它是矩形、多边形和椭圆的组合。矩形函数下面三个绘图函数需要一个指向矩形结构的指针:FillRect (hdc, &rect, hBrush) ; FrameRect (hdc, &rect, hBrush) ; Inver

2008-11-25 14:49:00 2759

原创 图形基础-映射模式--英文

The MM_ISOTROPIC Mapping ModeThe MM_ISOTROPIC mapping mode is ideal for using arbitrarily scaled axes while preserving equal logical units on the two axes. Rectangles with equal logical widths and h

2008-11-20 13:46:00 827

原创 图形基础-GDI映像模式( 下)

 设备坐标和逻辑坐标您也许会问:如果使用MM_LOENGLISH映射方式,是不是将会得到以百分之一英寸为单位的WM_SIZE消息呢?绝对不会。Windows对所有消息(如WM_MOVE、WM_SIZE和WM_MOUSEMOVE),对所有非GDI函数,甚至对一些GDI函数,永远使用设备坐标。可以这样来考虑:由于映像方式是一种设备内容属性,所以,只有对需要设备内容句柄作参数的GDI函数,映像方

2008-11-17 11:33:00 1845

原创 图形基础

  程序5-3 LINEDEMO画一个矩形、一个椭圆、一个圆角矩形和两条线段,不过不是按这一顺序。程序表明了定义封闭区域的函数实际上对这些区域进行了填入,因为在椭圆后面的线被遮住了,结果如图5-12中所示。程序5-3 LINEDEMO LINEDEMO.C /*-------------------------------------------

2008-11-12 15:25:00 1170

原创 图形基础--画点和线

  画点和线在第一章,我们谈论过Windows图形设备接口将图形输出设备的设备驱动程序与计算机连在一起的方式。在理论上,只要提供SetPixel和GetPixel函数,就可以使用图形设备驱动程序绘制一切东西了。其余的一切都可以使用GDI模块中实作的更高阶的例程来处理。例如,画线时,只需GDI呼叫SetPixel数次,并适当地调整x和y坐标。在实际情况中,也的确可以仅使用SetPixel

2008-11-12 11:43:00 3510

原创 第五章--设备内容(The Device Context)(2)

  设备的大小假定要绘制边长为1英寸的正方形,您(程序写作者)或Windows(操作系统)需要知道视讯显示上1英寸对应多少图素。使用GetDeviceCaps函数能取得有关如视讯显示器和打印机之类输出设备的实际显示大小信息。视讯显示器和打印机是两个不同的设备。但也许最不明显的区别是「分辨率」与设备联系起来的方式。对于打印机,我们经常用「每英寸的点数(dpi)」表示分辨率。例如,大多数激

2008-11-05 20:45:00 1251

原创 第五章--图形基础--设备内容(1)

  设备内容在开始绘图之前,让我们比第四章更精确地讨论一下设备内容。当您想在一个图形输出设备(诸如屏幕或者打印机)上绘图时,您首先必须获得一个设备内容(或者DC)的句柄。将句柄传回给程序时,Windows就给了您使用设备的权限。然后您在GDI函数中将这个句柄作为一个参数,向Windows标识您想在其上进行绘图的设备。设备内容中包含许多确定GDI函数如何在设备上工作的目前「属性」,这

2008-11-05 20:43:00 782

原创 (2)第5章--图形基础--GDI结构

图形设备接口(GDI:Graphics Device Interface)是Windows的子系统,它负责在视讯显示器和打印机上显示图形。正如您所认为的那样,GDI是Windows非常重要的部分。不只您为Windows编写的应用系统在显示视觉信息时使用GDI,就连Windows本身也使用GDI来显示使用者接口对象,诸如菜单、滚动条、图标和鼠标光标。不幸的是,如果要对GDI进行全面的讲述,将需要

2008-11-05 20:37:00 651

原创 (1)第四张--输出文字:绘图程序的组织

绘图程序的组织在处理完滚动条消息后,SYSMETS2不更新显示区域,相反,它呼叫InvalidateRect使显示区域失效。这导致Windows将一个WM_PAINT消息放入消息队列中。最好能使Windows程序在响应WM_PAINT消息时完成所有的显示区域绘制功能。因为程序必须在一接收到WM_PAINT消息时就更新整个显示区域,如果在程序的其它部分也绘制的话,将很可能使程序代码重复。

2008-11-05 20:32:00 621

原创 第四章:格式化文字-续

SYSMETS1.C视窗讯息处理程式 SYSMETS1.C程式中的WndProc视窗讯息处理程式处理三个讯息:WM_CREATE、WM_PAINT和WM_DESTROY。WM_DESTROY讯息的处理方法与第三章的HELLOWIN程式相同。WM_CREATE讯息是视窗讯息处理程式接收到的第一个讯息。在CreateWindow函式建立视窗时,Windows产生这个讯息。在处理WM_CREAT

2008-11-05 16:02:00 661

原创 卷动列 续

卷动列的范围和位置 每个卷动列均有一个相关的「范围」(这是一对整数,分别代表最小值和最大值)和「位置」(它是卷动方块在此范围内的位置)。当卷动方块在卷动列的顶部(或左部)时,卷动方块的位置是范围的最小值;在卷动列的底部(或右部)时,卷动方块的位置是范围的最大值。在内定情况下,卷动列的范围是从0(顶部或左部)至100(底部或右部),但将范围改变为更方便於程式的数值也是很容易的:SetSc

2008-11-05 12:00:00 755

原创 卷动列

 卷动列 卷动列是图形使用者介面中最好的功能之一,它很容易使用,而且提供了很好的视觉回馈效果。您可以使用卷动列显示任何东西--无论是文字、图形、表格、资料库记录、图像或是网页,只要它所需的空间超出了视窗的显示区域所能提供的空间,就可以使用卷动列。卷动列既有垂直方向的(供上下移动),也有水平方向的(供左右移动)。使用者可以使用滑鼠在卷动列两端的箭头上或者在箭头之间的区域中点一下,这时,「

2008-11-05 11:59:00 682

原创 第四章 格式化文字

格式化文字 Windows启动後,系统字体的大小就不会发生改变,所以在程式执行过程中,程式写作者只需要呼叫一次GetTexMetrics。最好是在视窗讯息处理程式中处理WM_CREATE讯息时进行此呼叫,WM_CREATE讯息是视窗讯息处理程式接收的第一个讯息。在WinMain中呼叫CreateWindow时,Windows会以一个WM_CREATE讯息呼叫视窗讯息处理程式。假设要编写一个

2008-11-05 11:55:00 883

搜狗输入法4.0搜狗输入法

搜狗输入法,方便智能,好用,迄今为止我一直在用

2009-03-15

Windows程序设计中文和代码

Windows程序设计中文和代码,很详细

2009-02-18

浅析MFC程序基本运行机制

简单清晰的描述了MFC的基本运行机制 或许我不该写这篇文章;或许你会不屑的看了看标题,然后华丽的 WS 之;又或许你会在看完之后,在 这篇文章的末尾的写上“打倒KC,打倒MFC,打倒 M$”,然后签上自己伟大的名字。 但是这都丝毫不会影响包括我在内的所有想了解 MFC 的 Coder 对于 MFC 研究。或许,有好几个问题曾 连续地在你的脑海里浮现: MFC很容易学么?是的,很容易。但是前提是你首先得理解他的源代码,并且看懂背后的故事。

2008-11-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除