自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 收藏
  • 关注

原创 为鼠标移动事件添加新的功能-在状态栏显示鼠标坐标

这次将本来在客户区输出的鼠标位置改成在状态栏输出。首先,在“资源符号”中添加三个常量符号,分别为:ID_MOUSE_X,ID_MOUSE_Y,ID_SCROLL_TEXT。然后在字符串资源中添加三个字符串:ID_MOUSE_X     X = ****ID_MOUSE_Y     Y = ****ID_SCROLL     Welcome to Visual C++.NET

2006-12-04 10:29:00 1649 1

原创 为鼠标移动事件添加新的功能-在工具栏添加快捷按钮

 首先,插入一条新的工具栏,命名为IDR_MYTOOLBAR,然后分别创建两个图标,分别命名为:ID_SHOW_POS,ID_TEST,如下图所示:为CMainFrame类添加一个protected的成员:CToolBar m_wndToolBar1,通过此变量将新建的工具栏加载到程序中,修改OnCreate函数,在原来已有的工具栏创建代码下面添加如下代码:if (!m_wndTool

2006-12-04 05:58:00 1739

原创 为鼠标移动事件添加新的功能-弹出菜单决定是否显示

首先,在资源里插入一条新的菜单,命名为IDR_FLOATMENU,顶层菜单的标题可以随便写,实际上对程序没有任何的影响,在顶层菜单下面添加两个子菜单项,分别为ID_SHOW_POS,标题是“显示鼠标坐标[&D]“,还有一个为ID_TEST,主要用来测试一下,标题是“测试菜单[&T]“。然后将ID_TEST映射到视图类中,将其处理函数改成:void CMouseMoveView::OnTest(

2006-12-02 06:21:00 1177

原创 为鼠标移动事件添加新的功能-让菜单决定是否显示

首先添加一个新的资源符号,打开"Resource Symbols",添加"ID_SHOW_POS",值取默认的就行了。添加一个BOOL型变量:m_bDisplay,初始化为true,用来决定该菜单是否显示被选中。添加代码,实现该菜单项的显示,在CMainFrame::OnCreate函数中添加以下代码:CMenu* pSysMenu = GetMenu(); //获得系统菜单 CMen

2006-12-01 22:16:00 1319

原创 一个响应鼠标移动的简单实例!

首先,利用MFC建立一个单文档的程序!为view类添加一个私有成员,m_MousePos,类型是CPoint,初始化为0。添加WM_MOUSEMOVE函数,重写如下:void CMouseMoveView::OnMouseMove(UINT nFlags, CPoint point){ // TODO: 在此添加消息处理程序代码和/或调用默认值 m_MousePos = point;

2006-12-01 09:16:00 1208

原创 SDK的hello world程序!

#include //主函数原型,整个函数的执行从该函数开始int WINAPI WinMain (HINSTANCE, HINSTANCE, LPSTR, int);LRESULT WINAPI WndProc (HWND, UINT, WPARAM, LPARAM);//WinMain函数int WINAPI WinMain (HINSTANCE hInstance, HINSTANC

2006-12-01 08:54:00 1347

转载 建立十个习惯,离成功近一步

一、不轻言退缩二、不停学习,不断修正。三、坐言起行,立即动手,从小事做起。为什么看到机会却没有抓住,是因为我们在犹豫:用什么方法更好啊,是不是还有更好的机会啊,或者这是不是机会啊。说狼在森林里追兔子,兔子看到狼来了决定跑,它想,是先跳左腿,还是先跳右腿,是怎么跳好看一点,还没来得及想完,就被狼吃了。简单的事情简单做,复杂的事情简单做,简单的事情重复做等等,都是保证坐言起行效

2006-11-19 12:20:00 866

原创 Thinking in C++读书笔记--15.3.3模板中的常量

//15.3.3模板中的常量#ifndef TCONST_H_#define TCONST_H_#include #include using namespace std;template class mblock //模板的参数可以使用编译器的内置类型,而且可以使用缺省值{private: T array[size];public: T& operator[] (int index) {  

2006-11-16 23:54:00 1029

原创 Thinking in C++读书笔记--15.3.2栈模板的实现与测试代码

//15.3.2栈模板#ifndef STACKT_H_#define STACKT_H_template class stacktIter;//先声明,下面的类中要用到该模板。template class stackt{ enum { size = 100 }; T stack[size]; int top;public: stackt() : top(0)  {  stack[top] =

2006-11-16 22:17:00 936

原创 Thinking in C++读书笔记--15.3.1非内联函数的实现

  template class array{ enum { size = 100 }; T A[size];public:    T& operator[] ( int index );};templateT& array::operator [] ( int index ) //在成员函数的定义中,类名称被限制为模板参数类型:array{ return A[index];}//由...

2006-11-10 14:10:00 836

原创 Thinking in C++读书笔记--15.4模板的语法

#include "stdafx.h"#include using namespace std;//15.3模板的语法template class array //这里T是替换参数,它表示一个类型的名称在包容器类中,它将出现在那些原本由某一特定类型出现的地方{ enum { size = 100 };//由于类内部的const常量无法用来做数组的大小,所以采用了enum类型,也是常量 T A[si

2006-11-10 09:04:00 898

原创 Thinking in C++读书笔记--13.4继承与组合

#include "stdafx.h"#include using namespace std;//13.4组合与继承的联合class A { int i;public: A( int I ) { i = I; } ~A() {} void f() const {}};class B { int i;public: B( int I ) { i = I; } ~B() {} void f()

2006-11-09 08:05:00 833

原创 Thinking in C++读书笔记--10.4指向对象成员的指针

如假有一个结构 : struct sample { int a; };如果有这个结构的对象so与指针sp,可以通过下面的方法选择对象成员:so.a;   sp->a;如果有一个指针指向了a,那我们该怎样给它赋值呢?应该是这样的: so.*pm = 47;  sp->*pm = 47;指向一个对象的指针的语法变成了->*,而对象则为.*那该怎么定义呢?int sample

2006-11-09 00:43:00 926

原创 Thinking in C++读书笔记--10.2C++中的引用

引用像是一个自动能被编译器逆向引用的常量型指针.使用引用时的一些规则:1.当引用被创建时,它必须被初始化2.一旦一个引用被初始化指向一个对象,它就不能改变为对另一个对象的引用.3.不可能有NULL引用函数中的引用,一个例子:int* f( int* x ) {  (*x)++;  return x;}int& g( int& x ) {  x++;}

2006-11-09 00:19:00 975

原创 Thinking in C++读书笔记--9.3静态成员函数

像静态数据成员一样,我们也可以创建静态成员函数,它是为类的全体服务,而不是为类的一部分对象服务.这样就不需要定义一个全局函数,减少了全局名字空间的占用.静态成员函数不能访问一般的数据成员,它只能访问静态数据成员,也只能调用其他的静态成员函数.通常,当前对象的地址(this)是被传递到被调用的函数的,但一个静态成员函数没有this,所以它无法访问一般的成员函数. 

2006-11-09 00:03:00 1244

原创 Thinking in C++读书笔记--7.2指针常量

指向const的指针:const指向那个"最靠近的",例如: const int* x, 是这样读的:x是一个指针,它指向一个const int";而int const* x也不是指针常量,它应该这样读:x是一个指向恰好是const的int 指针.真正的指针常量应该是这样子定义的:int d=1;int* const x=&d;注意:最好在一行里仅放一个指针定义,而且在定义的地方初始化

2006-11-08 22:00:00 682

原创 Thinking in C++读书笔记--6.3文件输入输出流

char buf[100]; string buf; ifstream in("目录.txt"); assert(in); ofstream out("C++.txt"); assert(out); int i=1; while(in.get(buf,100)) {  in.get();  cout   out  } assert(argc=2); ifstream in(argv[1])

2006-11-08 07:59:00 900

原创 Thinking in C++读书笔记--5.3缺省参数

缺省参数是在函数声明时就给定一个值,如果我们在调用参数时没有指定这一参数的值,编译器就会自动给这个参数赋上这个值.例:example( int size );example( int size, int quantity );可以用一个函数声明来代替:example( int size, int quantity = 0 );如果有两个定义:example( 100 )

2006-11-08 07:50:00 686

原创 Thinking in C++读书笔记--5.1范围分解

在C++中,有一个很重要的原因对函数进行重载:构造函数.因为构造函数的名字预先由类的名字确定,所以只能拥有一个构造函数的名字.但我们想用几种方法创造一个对象时该怎么办呢?这是就显现出重载的重要性了.我们对不同的参数使用同样的名字,只要函数的参数不同,编译器就会通过分解这些名字,范围和参数来产生内部名以供链接器使用.仅仅靠返回值来重载函数过于微妙了,所以C++中禁止这样做 

2006-11-08 07:13:00 743

原创 Thinking in C++读书笔记--3.3友元

//一个嵌套的struct不能自动的获得存取私有成员的权限//必须遵循特定的规则:首先声明一个嵌套的struct,然后声明它是全局范围使用的一个友元#include "stdafx.h"#include #include #define SZ 20struct holder {private: int a[SZ];public: void initialize(); struct pointer

2006-11-08 07:00:00 788

原创 Thinking in C++读书笔记--2.2一个小型的C库

//2.2一个小型的C库的头文件typedef struct STATSHtag { int size; int quantity; int next; unsigned char* storage;}Stash;//注意,这些函数声明用的是标准的C风格函数声明 void initialize( Stash* S , int Size );void cleanup( Stash* S );int

2006-11-08 06:10:00 740

原创 Thinking in C++读书笔记--2.1声明与定义

//声明常常使用关键字 extern ,如果只是声明而不是定义它,则要求使用extern//对于函数的声明, extern 是可选的,不带函数体的函数名连同参数或返回值自动的作为一个函数声明extern int i;//声明而没有定义extern float f( float );//函数声明float b;//声明和定义float f( float a )//定义{ return a + 1.0

2006-11-08 06:08:00 693

原创 C++复习--单链表的逆置

struct Node{ int value; Node * next;};Node * head=NULL; void dao(){ Node * p,* q; p=head; head=NULL; while(p) {  q=p->next;  p->next=head;  head=p;  p=q; }}

2006-11-08 06:06:00 661

原创 C++复习--本人写的Josephus问题

用链表实现的,在vc2003中编译通过struct Node{ int value; Node * next;};Node * head=NULL;Node * end=NULL;void Create(){    Node * ps;  ps=new Node; ps->value=i++; if(head==NULL)  head=end=ps; else  end->next=p

2006-11-08 06:02:00 870

原创 Asp 出现Microsoft JScript 编译错误 (0x800A03EC) 缺少 ';'解决办法

运行的时候提示出现错误:错误类型:Microsoft JScript 编译错误 (0x800A03EC)缺少 ;把改成%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>或者反过来,或者把子这一行去掉就行了 

2006-07-16 23:09:00 5607 5

转载 int char* float与CString 之间的转换

1。 int CString1) int ->CStringint n = 1;CString str;str.Format("%d",n);2) CString->int CString str = "1";int n = atoi(str.GetBuffer(0));2. char* 与CString1)char*->CStringchar sz[128];CString str;

2006-07-16 10:48:00 1079

原创 数据结构实验要求及源码(C/C++)!

在c语言中,设线形表的顺序存储结构的类型定义如下:#define LIST_MAX_LENGTH 1000 //线形表的最大长度typedef struct{int *elem; //指向存放线形表中数据元素的基地址int length; //线形表的当前长度} SEQLIST;要求:1、先存入10个随机数,并生成一颗查询二叉树,输出中序遍历的结构;2、对10个数据按照快速排序算法对表中数据升

2006-07-16 07:07:00 1211

原创 公开密码学的密钥交换

    Alice和Bob使用公开密钥密码协商会话密钥,并用协商的会话密钥加密数据。在一些实际的实现中,Alice和Bob签名的公开密钥可在数据库中获得。这使得密钥交换协议更容易, 即使Bob从来没有听说过Alice,Alice也能够安全的把消息发送给Bob。    (1)Alice从KDC处得到Bob的公开密钥。    (2)Alice产生随机会话密钥,用Bob的公开密钥加密它,然后将它

2006-07-16 06:54:00 1580 1

原创 对称密码学的密钥交换

    这个协议假设Alice和Bob(网络上的用户)每人和KDC共享一个秘密密钥,在我们的协议中Trent 就是KDC。    (1)Alice呼叫Trent,并请求一个与Bob通信的会话密钥。     (2)Trent产生一随机会话密钥,并对它的两个副本加密:一个用Alice的密钥,另一个用Bob的密钥。Trent发送这两个副本给Alice。    (3)Alice对它的会话密钥副

2006-07-16 06:47:00 1744

原创 能Ping得通DNS服务器,就是不能上网!

       早上六点的时候,下了一个软件,用卡巴斯基杀毒,没有问题,我直接点击,准备安装,没想到这个时候卡巴斯基报警了,发现了四十多个病毒。唉,又是这种打包的病毒,真他妈的讨厌!百度更恶心,这个病毒可是用百度搜索时排在前几位的! 没办法了,先杀一遍毒!这种病毒一般是杀不干净的,只好自己动手了,把全部新添加的启动项取消,结束所有可疑的进程,再到C盘下搜索在刚刚那个时刻修改的文件,全部删除!这样还不

2006-06-30 10:17:00 11365

原创 什么是协议?

      协议(protocol)是一系列的步骤: 它包括两方或多方,设计它的目的是要完成一项任务!      协议还有其他的特点:      1 协议中的每个人都必须了解协议,并且预先知道所要完成的所有的步骤。      2 协议中的每个人都必须同意并遵循它。      3 协议必须是清楚的,每一步必须明确定义,并且不会引起误解。      4 协议必须是完整的,对每种可能

2006-06-29 20:49:00 1370

原创 C语言课程设计报告--很久很久以前的课程设计报告

C语言课程设计报告 一、实践的目的和要求加深对《C语言》课程所学知识的理解,进一步巩固C语言语法规则。学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力。 二、实践内容在熟练掌握C语言的基本知识:数据类型(整形、实型、字符型、指针、数组、结构等);运算类型(算术运算、逻辑运算、自增自减运算、赋值运算等);程序结构(顺序结构、判断选择结构、

2006-06-05 12:55:00 14717 3

原创 病毒攻击与防治专题之 --IPC连接 手工种植木马 清除与防范

一.专题的目的          通过这次专题的制作,激发我们学习、了解有关病毒木马攻击与防治的各种知识的兴趣;提高我们的动手能力,在实际操作中学习;并让我们体会到了团队合作的重要性。 二.专题的内容专题分三部分进行:1.              查找相关的资料,何为IPC漏洞,net use 命令的使用,如何利用“流光”扫描工具进行漏洞的探测,利用“远程控制任我行”的客户端

2006-06-04 17:37:00 1789

转载 dumprep 0 -u 到底是什么东西?

经常有人在网上求助时说:“中木马或病毒后,关掉任务管理器中的木马进程并把关联还原,重新启动计算机,就会出现新的木马进程和关联。在安全模式下清理注册表的开机启动项目,再杀掉进程并改正关联也不起作用。同时在msconfig程序中发现有dumprep 0 -u这样一个启动项,杀不掉、删不了,只要一启动,它就运行”。有人说它是病毒、木马的根,只在病毒、木马破坏系统时才出现。    其实不然,dumpr

2006-06-02 07:30:00 5930

原创 关于进程wdfmgr.exe

进程文件:wdfmgr或者wdfmgr.exe进程名称:windows driver foundation manager描述:wdfmgr.exe是微软microsoftwindowsmediaplayer10播放器的相关程序。该进程用于减少兼容性问题。这不是纯粹的系统程序,但是如果终止它,可能会导致不可知的问题。出品者:microsoft属于:microsoft wnidows media p

2006-06-02 07:12:00 2479

转载 matroska媒体--万能的多媒体容器

MKV是Matroska的一种媒体文件, Matroska是一种新的多媒体封装格式,它可将多种不同编码的视频及16条以上不同格式的音频和不同语言的字幕流封装到一个Matroska Media文件当中!  多媒体封装格式也称多媒体容器 (Multimedia Container),它不同于DivX、 MP3这类编码格式,它只是为多媒体编码提供了一个“外壳”,常见的AVl、VOB、 MPEG格式都是属

2006-06-01 20:43:00 4653

原创 关于进程helpsvc.exe这个进程!

      我的电脑一开机,就会有helpsvc.exe这个进程在运行,运行大概不到一分钟,就会在任务管理器里消失,这让我觉得很奇怪。于是上网搜了一下,对于这个进程的描述是这样的:进程文件: helpsvc or helpsvc.exe 进程名称: Microsoft Helpsvc 进程类别:存在安全风险的进程中文参考: helpsvc.exe是Windows 2000以及更高版本Windo

2006-05-30 01:40:00 8148

原创 在Visual Foxpro中对数据库的内容进行删除!

       在Visual Foxpro中对数据库的内容进行删除!这是对一个学生情况表进行删除,包括了按学号删除、寝室号、系别进行删除!这是替一个同学做的一份作作业!有源码!想要的请留言,留下你的联系方式!      对学生情况表进行删除的制作过程:一.先添加学生情况表,如下图所示:      二.新建一个表单,命名为removestu,并设为主表,设其属性中的“name”为

2006-05-26 11:54:00 11448

原创 BYTE 数据类型

byte 类型存储为一个无符号的字节。byte 类型可以表示 0 至 255 范围内(包括这两个数)的整数。BYTE   An 8-bit integer that is not signed.

2006-05-26 03:23:00 2984

原创 电子密码本模式(ECB模式)

        电子密码本模式是使用分组密码最明显的方式:一个明文分组加密成一个密文分组。因为相同的明文永远被加密成相同的密文分组,所以理论上制作一个包含有明文及其对应的密文的密码本是可能的!但是,我们要清楚的了解一点,如果分组的大小为64位,那么密码本就有264项,对于预计算和存储来说,实在是太大了。       这是最容易运行的模式。每个分组可以独立的进行加密,不必按次序进行。    

2006-05-25 20:57:00 8763 3

空空如也

空空如也

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

TA关注的人

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