毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

简易文件审计工具的设计与实现 第6页

更新时间:2010-6-2:  来源:毕业论文
简易文件审计工具的设计与实现 第6页
这里OnWndMsg()做了大部的工作,进行查找消息类别并调用相应的处理函数。处理机制是由子类不断向基类传递的。剩余的工作则用DefWindowProc进行处理。
消息映射是为了节省不为每个消息都保存基类及子类的函数虚表的内存而设置的。
2.3 Windows编程
2.3.1 概述
Windows是一种基于图形界面的多任务操作系统。为这个环境开发的程序有着相同的外观和命令结构。对用户来说,这使得学习使用Windows应用程序变得容易了。为了帮助开发Windows应用程序,Windows提供了大量的内建函数以方便地使用弹出菜单、滚动条、对话框、图标和其他一些友好的用户界面应该具有的特性。
Windows运行应用程序以硬件无关的方式来处理视频显示、键盘、鼠标、打印机、串行口以及系统时钟[6]。最值得注意的Windows特性就是其标准化的图形用户界面。统一的界面使用图片或图标来代表磁盘驱动器、文件、子目录以及其它操作系统的命令和动作。统一的用户界面也为程序员带来了好处。例如,你可以很方便地使用常见菜单和对话框的内建函数。所有的菜单都具有相同风格的键盘和鼠标接口,因为是Windows而不是程序员在实现它。
Windows的多任务环境允许用户在同一时刻运行多个应用程序或同一个应用程序的多个实例。一个应用程序可能处于激活状态。激活的应用程序是指它正接收用户的输入。因为每一个瞬间仅有一个程序能够被处理,因此同一时间也只能有一个应用程序处于激活状态。但是,可以有任意个数的并行运行的任务。
2.3.2 句柄与消息
一、句柄
一个句柄仅仅是用来识别某些事情的数字,它唯一的标识一个实例。这样说确实不易理解,比如你打开 Windows自带的计算器,你多打开几次桌面上会出现几个计算器。使用其中一个计算器的时候,当按下等于按钮的时候,运算结果是不会出现在其他的计算机结果栏里的。那Windows怎么知道让结果出现在哪里呢?这就是句柄的作用了,句柄唯一的标识了一个程序,你打开的每一个窗口(计算器) 都有一个不同的句柄。每一步操作都是指定了在某个句柄下的。
不仅是窗口,各种菜单,GDI对象都有自己的句柄,获取句柄的手段也是多重多样,不过当然是通过调用API函数实现了,如:
hHandle = GetSafeHandle();
hBrush = GetStorkObject(BLACK_BRUSH);
很多操作都需要将句柄添加到参数列表中,当你没有直接定义句柄变量的时候可能要记忆很多API的返回类型来间接获取。如:
hPen = SelectObject(hdc,GetStockObject(&logicpen));
SelectObject()这个函数在设置本设备描述表下的GDI对象时会返回设置前的GDI对象句柄 。
MoveToEx(hdc, pt1.x, pt1.y, &apt);
LineTo(hdc, pt2.x,pt2.y);
SelectObject(hdc,hPen);
完成选择自定义的GDI对象的操作。句柄的种类很多,掌握一种的使用方法所有的不学自通,WinAPI编程永远伴随的元素中句柄是其中之一。
二、Windows消息机制
首先我们应该先明白消息和事件的区别,Windows是消息驱动的操作系统,这里的消息的产生来自于某个实例化的对象上用户的操作,来自控件,菜单,或者是系统本身产生的,而事件是靠消息触发的,但这也不是绝对的。
消息产生后并不会被直接处理,而是先插入windows系统的消息队列,然后系统判断此消息产生于哪个程序,送入此程序的消息循环,由LRSULT CALLBACK winprc(hwnd , uint,wParam,lParam)处理。而事件是操作系统处理消息的过程中反馈的结果。
2.3.3 文件操作
 CreateFile,打开文件。
要对文件进行读写等操作,首先必须获得文件句柄,通过该函可可以获得文件句柄,该函数是通向文件世界的大门。
 ReadFile,从文件中读取字节信息。
 在打开文件获得了文件句柄之后,则可以通过该函数读取数据。
 WriteFile ,向文件写入字节信息。
同样可以将文件句柄传给该函数,从而实现对文件数据的写入。
 CloseHandle,关闭文件句柄。
打开门之后,自然要记得关上。
 GetFileTime,获取文件时间。
有三个文件时间可供获取:创建时间、最后访问时间、最后写时间。 该函数同样需要文件句柄作为入口参数。
 GetFileSize,获取文件大小。
由于文件大小可以高达上数G(1G需要30位),因此一个32位的双字节类型无法对其精确表达,因此返回码表示低32位,还有一个出口参数可以传出高32位。 该函数同样需要文件句柄作为入口参数。
 GetFileAttributes,获取文件属性。
可以获取文件的存档、只读、系统、隐藏等属性。该函数只需一个文件路径作为参数。
 SetFileAttributes,设置文件属性。
能获取,自然也应该能设置。可以设置文件的存档、只读、系统、隐藏等属性。 该函数只需一个文件路径作为参数。
 GetFileInformationByHandle,获取所有文件信息 。
该函数能够获取上面所有函数所能够获取的信息,如大小、属性等,同时还包括一些其他地方无法获取的信息,比如:文件卷标、索引和链接信息。 该函数需要文件句柄作为入口参数。
 GetFullPathName,毕业论文http://www.751com.cn/  论文网http://www.751com.cn/下,结果才正确。如果要得到真正的路径。应该用GetModuleFileName函数。
 CopyFile,复制文件
注意:只能复制文件,而不能复制目录
 MoveFileEx,移动文件
既可以移动文件,也可以移动目录,但不能跨越盘符。(Window2000下设置移动标志可以实现跨越盘符操作)

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页

简易文件审计工具的设计与实现 第6页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。