- 博客(29)
- 收藏
- 关注
原创 宏
// 1#define makechar(x) #@x// 2#define _STR(x) #x#define _STR2(x) _STR(x)// 3#define paster( n ) printf( "/ntoken" #n " = %d", token##n )int token9 = 9;int main(int argc, char* argv[]){ // 1 char a
2005-09-21 16:47:00 1217
原创 using声明
保证跨声明范围的函数重载class B {public: int f(int i) { cout };class D : public B {public: using B::f; double f(double d) { cout }; D* pd = new D; cout f(2) cout f(2.3)
2005-07-13 17:36:00 1175
原创 STL--函数对象
class myCAT{private: string _s;public: operator const char*() const { return _s.c_str(); } void operator()(const string& s) { _s += s + " "; }}; vector mySTR; mySTR.push_back("a"); mySTR.push_back("
2005-07-13 17:29:00 1192
原创 enum也出错
这段代码有错吗?#include "stdafx.h"#include "windows.h"enum ManageType {INSERT, DELETE, UPDATE, GET};int main(int argc, char* argv[]){ printf("Hello World!/n"); return 0;}有啊,编译一下看看吧D:/VCTEST/enum/enum.cpp(6)
2005-06-28 16:35:00 1674
原创 项目文件较多时的一种组织办法
软件开发中,当一个项目比较大时,项目中的源码文件会急剧膨胀,如果将这些文件都放在项目的根目录中,势必会在工作中造成一些不便。一般的办法是将文件分门别类放在不同的子目录中,然后在文件有包含(include)关系时,使用相对路径来指定对相关文件的包含。此种办法的缺点是当项目发生大的变更,分类关系改变时,需要同时修改源代码中的包含关系及分类的子目录名。其实VC6的开发环境中已经有了这类问题的解决办法,就
2005-03-03 09:03:00 1192
原创 GDI+使用出现LNK1103错误
平台 WinXP SP2环境 VC6 SP6 + WinXP SP2 SDK使用GDI+时,链接时出现LNK1103错误,可能是因为这台机器装过VS2003,因此SDK在安装时安装了VS2003环境的GDIPLUS库文件,于是在网上找VS6下的库文件,终于在“VC知识库”中找到,在程序中指定链接相应的LIB文件后问题解决感谢http://dev.csdn.net/article/52/articl
2005-02-21 13:15:00 1383
原创 Win32 DLL中使用GDI+
1、使用GDI+时声明一下#include using namespace Gdiplus;#pragma comment(lib, "gdiplus")2、再下载最新的SDK,将在VC环境中添加最新SDK的Include&Lib3、上面两条都不是我最想说的WIN32 DLL中使用GDI+需要注意的。如果仅这样在编译时是通不过。将stdafx.h中向导生成的WIN32_LEAN_AND_MEAN宏
2005-01-27 11:23:00 3798 1
原创 C++与C#的细节差别
static void Main(string[] args) { // // TODO: 在此处添加代码以启动应用程序 // int i = 0; i = ++i; Console.WriteLine("i={0}", i); // 输出 i=1 }static void Main(string[] args) { // // TODO: 在此处添
2004-12-06 09:54:00 1219
原创 DOS下的屏幕保护
#include "dos.h"#include "conio.h"#include "stdlib.h"#include "math.h"#include "time.h"#define MAX 30#define FIRSTPAGE 5#define LASTPAGE 6#define Z 3#define DELAY_TIME 3000int ACTIVEPAGE=0;struct
2004-11-22 23:56:00 1300
原创 EGL--延时函数实现文件 DELAY.INC
/* DELAY.INC*/void InitTimer() /* 初始化整个延时系统,结束必须要调用EndTimer */{ int i; if( IsInit ) return; disable(); old_int8=getvect(0x8); setvect(0x8,new_int8); /* 安装时钟中断,以保证精确的延时 */ enable(); for( i=0;
2004-11-22 23:51:00 1304
原创 EGL--延时函数头文件 DELAY.H
/* DELAY.H 代码编写: 王家宝 最后更新日期: 2000.04.01 用途: 提供比较精确的延时功能 要求: 函数修改了系统中断 0x8 ,因此要求在结束延时功能之前 不要再修改 0x8 中断,提供最小的延时单位为 1/18.2 秒*/#define MAXTIMERS 10BOOL IsInit=0;struct { int id; UINT ticks; UIN
2004-11-22 23:50:00 2987
原创 EGL--鼠标相关类函数补充 EVENT.OBJ
可以在微软的鼠标驱动上安装回调函数,在鼠标有EVENT时,回调函数会被驱动调用,在回调函数中可以查询鼠标的状态,然后将相应的变更置位,以反映鼠标的状态变更情况当初用ASM写了一段回调函数,可惜ASM源码已经丢失了,现在只有二进制目标文件了,我将二进制文件的映象COPY SCREEN了,上载到我的相册中了,可以用二进制编辑器恢复这个OBJ文件,然后将此文件与您生成的文件进行链接
2004-11-22 23:48:00 1377
原创 EGL--标准基础类实现文件 STDEG.INC
/* STDEG.INC*/BOOL CheckChineseOs(void){ outportb(0x03ce,0x06); return( (peekb(0x0040,0x0049)==3 && inportb(0x03cf)&0x0F!=0x0e)?1:0 );}void InitGr(void){ int gd=VGA,gm=VGAHI; static UINT ha
2004-11-22 23:16:00 1251
原创 EGL--标准基础类头文件 STDEG.H
/* STDEG.H 代码编写: 王家宝 最后更新日期: 2000.04.01 用途: 提供友好的人机界面 要求: 必须有兼容微软的鼠标器与驱动程序 必须提供有扩充内存管理程序HIMEM.SYS 配有VGA显示卡的彩色显示器*//* 由WinMake()使用的边框类型 */enum WINFRAME{ STD_FRAME=101, SHADOWLINE_FRAME,
2004-11-22 23:13:00 1336
原创 EGL--XMS类函数实现文件 XMS.INC
/* XMS.INC*/int xms_init() /* 检测扩充内存服务程序 */{ union REGS r; r.x.ax=0x4300; int86(0x2f,&r,&r); if(r.h.al!=0x80) return(ERROR); /* 无HIMEM.SYS */ if( (xms_2_basemem_buffer=malloc(XMS_BUF))==
2004-11-22 23:08:00 1119
原创 EGL--XMS类头文件 XMS.H
/* XMS.H 代码编写: 王家宝 最后更新日期: 2000.04.01 用途: 操作XMS内存 要求: 系统提供HIMEM.SYS*/char *xms_2_basemem_buffer;/* divide the screen XMS_BLOCK_NUM block */struct xms_move{ long byte_count; /* 每次传送多少个字节 */
2004-11-22 23:05:00 1059
原创 EGL--鼠标类函数实现文件 MOUSE.INC
/* MOUSE.INC*/void pascal set_event_handler(int call_mask,void far( *location)()){ union REGS r; struct SREGS sr; if(MOUSE_THERE){ /* THE MOUSE FUNCTION 12 */ r.x.ax=12; r.x.cx=call_ma
2004-11-22 22:58:00 1314
原创 EGL--鼠标类头文件 MOUSE.H
/* MOUSE.H 代码编写: 王家宝 最后更新日期: 2000.04.01 用途: 获取鼠标动作,对鼠标进行简单控制*/#define DOUBLE_CLICK_TIME 4 /* define the double time as 1 second */int MOUSE_VISIBLE=0; /*mouse cursor is showed or hide showed 1,hid
2004-11-22 22:55:00 2119
原创 EGL--键盘类函数实现文件 KEY.INC
/* KEY.INC*/int GetKey(){ int character,ext_char=0; if((character=getch())!=0) return(character); else ext_char=getch(); return(ext_char*100+character);}int GetStatusKey(int cmd){ cha
2004-11-22 22:52:00 1162
原创 EGL--键盘类头文件 KEY.H
/* KEY.H 代码编写: 王家宝 最后更新日期: 2000.04.01 用途: 获取键盘输入,对一般字符键与特殊按键加以识别*/#define BACKSPACE 8#define TAB 9#define ENTER 13#define ESC 27#define UP 7200#define DOWN 8000#define LEFT 7500#define
2004-11-22 22:42:00 1238
原创 EGL--用户手册
GEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEGG
2004-11-22 22:34:00 1312
原创 EGL--头文件 EGHEAD.H
/* EGHEAD.H*/#define SHORT unsigned char#define INT signed int#define UINT unsigned int#define BOOL unsigned char#define BYTE signed char#define UBYTE unsigned char#define OK 32762#define
2004-11-22 22:33:00 1240
原创 The Cryptography API, or How to Keep a Secret(三)
几个加密API函数[编者注:下面缩进部分的文件引用自MSDN Library, Platform, SDK, 及 DDK 文档。]初始化CSP:CryptAcquireContext, CryptReleaseContext函数CryptAcquireContext用来获得CSP中一个特定密鈅容器的句柄。返回的句柄然后就可以对选择的CSP进行调用。函数CryptReleaseCon
2004-02-07 22:53:00 1571
原创 The Cryptography API, or How to Keep a Secret(四)
生成密鈅:CryptDeriveKey, CryptGenKey, CryptDestroyKey这三个函数用来产生密鈅句柄: CryptDeriveKey 函数从一个指定的密码(password)产生密鈅。CryptGenKey 函数从一个随机产生的数值产生密鈅。CryptDestroyKey 函数释放密鈅对象。使用CryptGenKey 函数时,建议使用 CRYPT_E
2004-02-07 22:53:00 1307
原创 The Cryptography API, or How to Keep a Secret(五)
CRYPTOAPI 例程概述随本文提供的CRYPTOAPI 例程是一个“完整”的加密/解密工具。程序能够向默认的CSP中添加与移除用户,使用或不使用密码进行加密与解密文件,签署与验证签名,显示默认CSP的性能。程序有下列命令行结构。Usage: Encrypt switch [arguments] Where switch and optional arguments are one
2004-02-07 22:53:00 1160
原创 The Cryptography API, or How to Keep a Secret (一)
The Cryptography API, or How to Keep a Secret译注:因本文发布时间较早,文中所阐述某些内容已发生变化,发生变化处译者已标出。Robert ColeridgeMicrosoft Developer Network Technology GroupAugust 19, 1996 摘要本文描述已在新的Windows NT 4.0版
2004-02-07 22:51:00 1466
原创 The Cryptography API, or How to Keep a Secret (二)
加密当进行数据加密时,明文消息(plain-text message)在被编码后会看起来象完全随机的二进制数据,以至于没有密鈅就很难将其转化为原来的消息。本文中使用如下定义:消息(Message):指任何数据块。消息可以是ASCII文本,一个数据库文件或者任何你要安全存储或者传输的数据。明文(Plain text):指没有被加密的数据。密文(Cipher text):指被加密过
2004-02-07 22:51:00 1734
原创 Simulate a Form POST Request Using WinInet
这是MSDN中的一篇文章,说的是用WinInet来模拟表单的发送,用的是VC及SDK两种方法实现的,用文中方法便可以实现直接将表单发送到WEB服务器上了,比直接在网页上填表高明多了。原文较短且很简单,就没翻译,直接帖上来了,没弄明白MSDN中的算转帖还是算收藏,反正哪位仁兄能用上就行了HOWTO: Simulate a Form POST Request Using Win
2001-11-22 01:27:00 984
原创 直接写屏显示文字
看到有前(钱)人发表了DOS下的东西,咱也凑凑热闹,把毕业设计时用过的一个小东西也拿出来晾晾,别霉了!这是一个DOS下直接写屏显示16点阵汉字的演示程序功能由函数OutText()完成,该函数区别于大多数此类函数的特点如下.支持视区剪裁输出.支持屏幕任意位置输出(不局限于一般直接写屏方法640X480分辩率下的输出位置必须为8的整数倍).支持英文字母及数字的8X16点阵输出.支持直接写屏下的彩
2001-10-14 03:42:00 2189 5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人