ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:25.53KB ,
资源ID:4388267      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4388267.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VBOpen函数详解Word格式文档下载.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

VBOpen函数详解Word格式文档下载.docx

1、 For Append As #filenumber 这条语句则是像文本文件中添加数据 2、随机文件 操作随机文件之前,首先必须定义用于保存数据项的记录类型.该记录是用户自定义数据类型,他们是随机文件中存储数据的基本结构.例如:Type Student No As Integer Name As String * 20 age As IntegerEnd TypeDim Stud As Student 定义一个可以存放学生材料的变量 随机文件中,所有的数据都将保存到若干个结构为Student类型的记录中, 而从随机文件中读出的数据则可以存放到变量Stud中. 之后我们就可以打开并读写文件了.下

2、面是打开随机文件的语法格式:Open filename For Random as #filenumber Len = Reclength 说明: (1)参数filename 和filenumber 分别表示文件名或文件号. (2)关键字Random 表示打开的是随机文件 (3)Len子句用于设置记录长度,长度由参数Reclength指定.Reclength的值必须大于0,而且必须与定义的记录结构的长度一致.计算记录长度的方法是将记录结构中每个元素的长度相加.例如前面声明的Student的长度应该是2+20+2=24字节. 打开一个记录类型为Student 的随机文件的方法是:Open c:S

3、tudent.txt For Random As #1 Len = 25 3、二进制文件 打开二进制文件的语法格式如下:Open pathname For Binary As #filenumber (1) 参数filename 和filenumber 分别表示文件名或文件号. (2)关键字Binary 表示打开的是二进制文件 (3)对于二进制文件,不能指定字节长度.每个打开的二进制文件都有一个自己的指针,文件指针是一个数字值,指向下一次读写操作的文件中的位置.二进制文件中的每个”位置”对应一个数据字节,因此,有n个字节的文件,就有1到n个位置. 我们可以用Seek()函数返回当前的文件指针位

4、置(即下一个要读写的字节 );用Loc()函数返回上一次读写的字节位置,除非用Seek语句移动了指针,Loc()返回值总比Seek()的小1.我们来看下面的例子:Open “student.txt” for Binary as #1 该语句用二进制的方式打开了student.txt文件. (二)读文件 顺序文件的读取有三种方式: (1)Line Input # 语句 该语句从打开的顺序文件中读取一行数据。这里的一行指的是从当前指针位置开始到回车符或回车换行符之间的所有数据。Line Input # 语句的语法格式如下:Line Input # 文件号,变量号“文件号”是打开文件时所用的文件号;

5、“变量号”使用来存放读出数据的一个或多个变量,如果有多个变量,中间用空格分割开。Input# 语句为参数列表中的每一个变量读取文件的一个域,并将读出的域存入变量中。该语句只能顺序的从第一个域开始,直到读取想要的域。 请看下面代码:Dim strLine As Stringvbtest.txt For Input As #1Do Until EOF(1) Line Input #1, strLine text1.Text = text1.Text + strLine + Chr(13) + Chr(10)LoopClose #1 此段代码逐行读取一个文件到文本框中。 (2)Input函数 此函数

6、可以从顺序文件中一次读取指定长度的字符串。具体地说,就是从文件的当前位置开始,读取指定个数的字符,然后将他们返回。Input函数可以读取包括换行符,回车符,空格符等在内的各种字符。下面是它的语法格式: 变量 = Input(串长度,文件号) 例如,要从一个打开文件中读取12个字符并复制到变量file中,我们可以这样写:file = Input(12,filenum) 如果要将整个文件复制到变量,请使用InputB函数将字节从文件复制到变量。由于InputB函数返回一个ASCII字符串,因此,必须用StrCopy函数将ASCII字符串转换为Unicode字符串。代码如下:file = StrCo

7、py (Input (LOF(filenanum),filenum),vbUnicode) (3)Input # 语句 Input #语句可以从文件中同时向多个变量内读入数据,而且读入的数据可以是不同类型的。 下面使它的语法格式:Input # 文件号,变量列表 例如,我们要在文件student.txt中写入数据,下面是代码:student.txt For Output As #filenumWrite #filenum, 张三, 初一年级, 14李四职业高中, 18Dim name As String, nianji As String, age As IntegerDim name1 As

8、 String, nianji1 As String, age1 As Integer For Input As #filenumInput #filenum, name, nianji, ageInput #filenum, name1, nianji1, age1Close #filenum 执行结果:name=”张三” ,nianji = “初一年级” ,age =14name=”李四” ,nianji = “职业高中” ,age =18 读取随机文件是可以使用Get # 语句,数据从文件的一个指定记录中读出后,存入一个用户自定义的变量中. 语法格式: Get # FileNum ,Re

9、cNum,UserType (1)FileNum 是要打开的文件号;RecNum是要读取的记录号,若省略,则读取下一个记录 (2)UserType 是一个用来存放读出数据的用户自定义的数据类型变量. 下面是一个例子:Get # 1,5,Student 该语句读取文件号为1的文件中的第5条记录. 读写二进制文件的方法和读写随机文件的方法基本相同,下面是相关的语句格式及其说明: 格式: Get #fileNumber ,Pos, Var 功能: 用二进制方式,从文件的中指定的位置开始读取,所给变量长度的数据 (1)FileNumber是以二进制方式打开的文件号. (2)Pos用来指定读写操作发生时

10、的字节位置,若省略,则使用当前文件指针位置. (3)Var是用来存放读出的数据的变量.该语句会自动根据var变量包含的字节长度读取适当的文件,如果Var是一个可变长度的字符串变量,则传送的字节数等于Var中目前的字节数.对于文件长度的判断我们可以使用Lof()函数,Eof()函数检查文件的结尾位置. 下面的代码复制studert.txt文件到student1.txt文件中Dim ar As String * 1, i As Integerstudent.txt For Binary As #1student2.txt For Binary As #2For i = 1 To LOF(1) Ge

11、t #1, , ar Put #2, , arNext iClose #1, #2 (三)写文件 1、 顺序文件 写顺序文件我们可以用Write # 和Print #语句向一个已经打开的文件中写入数据. 下面是他们的格式和说明: Print # 的语法格式: Print # 文件号,变量列表 例如,将文本框中的文本写到文件中,代码如下:file.txtInput #filenum, text1.text Write # 语句的语法格式:Write # 文件号,变量列表用Write # 语句写入的信息便于以后用Input #语句来读取数据,因为Write #语句自动将写入到文件中的信息用逗号分开

12、,并为字符串数据加上双引号.例如:, 18 2、 随机文件 向随机文件中写入数据,使用Put 语句.语法格式如下:Put # FileNum ,RecNum,UserType (1) FileNum 是要打开的文件号;RecNum是要写入的记录号,若省略,则再上一次用Get 和Put语句所读写过的记录的后一条记录中写入,如果没有执行过Get 和Put语句,就从第一条记录开始 (2)UserType 是包含要写入数据的用户自定义的数据类型变量.例如:我们向前面的student.txt文件中的第5个记录写入数据,可用这些语句:stud.No = 0301stud.Name = “王武”stud.A

13、ge =20Put #1 ,5,stud 如果要插入的数据不只一两条的话,首先要确定文件和每条记录的长度,这样就可以计算出文件中究竟有多少条记录.我们可以用Lof()函数返回文件的长度,Len()函数返回每个记录的长度,计算文件中的记录个数可以用文件的长度除以给个记录的长度.示例如下:Nextrec= (Lof(1)Len(UserType)+1Put #1,Nextrec,UserType 下面是以二进制方式写入文件的语句格式及其说明:Put #fileNumber ,Pos, Var 用二进制方式,从文件的中指定的位置开始写入,所给变量长度的数据 (2)Pos用来指定写操作发生时的字节位置

14、,若省略,则使用当前文件指针位置. (3)Var是用来存放写入的数据的变量.该语句会自动根据var变量包含的字节长度写入文件,如果Var是一个可变长度的字符串变量,则传送的字节数等于Var中目前的字节数附录资料:不需要的可以自行删除VB HOOK(钩子)超级无敌详细用法(介绍)hook是WINDOWS提供的一种消息处理机制,它使得程序员可以使用子过程来监视系统消息,并在消息到达目标过程前得到处理。 下面将介绍WINNDOWS HOOKS并且说明如何在WINDOWS 程序中使用它。关于HOOKS 使用HOOK 将会降低系统效率,因为它增加了系统处量消息的工作量。建议在必要时才使用HOOK,并在消

15、息处理完成后立即移去该HOOK。HOOK链 WINDOWS提供了几种不同类型的HOOKS;不同的HOOK可以处理不同的消息。例如,WH_MOUSE HOOK用来监视鼠标消息。WINDOWS为这几种HOOKS维护着各自的HOOK链。HOOK链是一个由应用程序定义的回调函数队列,当某种类型的消息发生时,WINDOWS向此种类型的HOOK链的第一个函数发送该消息,在第一函数处理完该消息后由该函数向链表中的下一个函数传递消息,依次向下。如果链中某个函数没有向下传送该消息,那么链表中后面的函数将得不到此消息。(对于某些类型的HOOK,不管HOOK链中的函数是否向下传递消息,与此类型HOOK联系的所有HO

16、OK函数都会收到系统发送的消息)HOOK过程 为了拦截特定的消息,你可以使用SetWindowsHookEx函数在该类型的HOOK链中安装你自己的HOOK函数。该函数语法如下:public function MyHook(nCode,wParam,iParam) as long 加入代码 end function 其中MyHook可以随便命名,其它不能变。该函数必须放在模块段。nCode指定HOOK类型。wParam,iParam的取值随nCode不同而不同,它代表了某种类型的HOOK的某个特定的动作。SetWindowsHookEx总是将你的HOOK函数放置在HOOK链的顶端。你可以使用Ca

17、llNextHookEx函数将系统消息传递给HOOK链中的下一个函数。注释对于某些类型的HOOK,系统将向该类的所有HOOK函数发送消息,这时,HOOK函数中的CallNextHookEx语句将被忽略。全局HOOK函数可以拦截系统中所有线程的某个特定的消息(此时该HOOK函数必须放置在DLL中),局部HOOK函数可以拦截指定线程的某特定消息(此时该HOOK函数可以放置在DLL中,也可以放置在应用程序的模块段)。注释 建议只在调试时使用全局HOOK函数。全局HOOK函数将降低系统效率,并且会同其它使用该类HOOK的应用程序产生冲突。HOOK类型 WH_CALLWNDPROC 和 WH_CALLW

18、NDPROCRET HOOK WH_C ALLWNDPROC 和WH_CALLWNDPROCRET HOOK可以监视SendMessage发送的消息。系统在向窗体过程发送消息前,将调用WH_CALLWNDPROC;在窗体过程处理完该消息后系统将调用WH_CALLWNDPROCRET。WH_CALLWNDPROCRET HOOK会向HOOK过程传送一个CWPRETSTRUCT结构的地址。该结构包含了窗体过程处理系统消息后的一些信息。WH_CBT Hook 系统在激活,创建,消毁,最小化,最大化,移动,改变窗体前;在完成一条系统命令前;在从系统消息队列中移去鼠标或键盘事件前;在设置输入焦点前,或同

19、步系统消息队列前,将调用WH_CBT HOOK。你可以在你的HOOK 过程拦截该类HOOK,并返回一个值,告诉系统,是否继续执行上面的操作。WH_DEBUG HOOK 系统在调用与某种HOOK类型联系的HOOK过程前,将调用WH_DEBUG ,应用程序可以使用该HOOK决定是否让系统执行某种类型的HOOK。WH_FOREGROUNDIDLE Hook 系统在空闲时调用该HOOK,在后台执行优先权较低的应用程序。WH_GETMESSAGE Hook WH_GETMESSAGE Hook使应用程序可以拦截GetMessage 或 PeekMessage的消息。应用程序使用WH_GETMESSAGE

20、 HOOK监视鼠标、键盘输入和发送到队列中的其它消息。WH_JOURNALRECORD Hook WH_JOURNALRECORD Hook使应用程序可以监视输入事件。典型地,应用程序使用该HOOK记录鼠标、键盘输入事件以供以后回放。该HOOK是全局HOOK,并且不能在指定线程中使用。WH_JOURNALPLAYBACK Hook WH_JOURNALPLAYBACK Hook使应用程序可以向系统消息队列中插入消息。该HOOK可以回放以前由WH_JOURNALRECORD HOOK录制的鼠标、键盘输入事件。在WH_JOURNALPLAYBACK Hook安装到系统时,鼠标、键盘输入事件将被屏蔽

21、。该HOOK同样是一个全局HOOK,不能在指定线程中使用。WH_JOURNALPLAYBACK Hook返回一个时间暂停值,它告诉系统,在处理当前回放的消息时,系统等待百分之几秒。这使得此HOOK可以控制在回放时的时间事件。WH_KEYBOARD Hook WH_KEYBOARD Hook使应用程序可以监视由GetMessage和PeekMessage返回的WM_KEYDOWN 及WM_KEYUP消息。应用程序使用该HOOK监视发送到消息队列中的键盘输入。WH_MOUSE Hook WH_MOUSE Hook 使应用程序可以监视由GetMessage和PeekMessage返回的消息。应用程序

22、使用该HOOK监视发送到消息队列中的鼠标输入。WH_MSGFILTER and WH_SYSMSGFILTER Hooks WH_MSGFILTER 和WH_SYSMSGFILTER Hooks使应用程序可以监视菜单、滚动条、消息框、对话框,当用户使用ALT+TAB或ALT+ESC来切换窗体时,该HOOK也可以拦截到消息。WH_MSGFILTER仅在应用程序内部监视菜单、滚动条、消息框、对话框,而WH_SYSMSGFILTER则可以在系统内监视所有应用程序的这些事件。WH_SHELL Hook 一个SHELL程序可以使用WH_SHELL Hook来接收重要的信息。当一个SHELL程序被激活前或

23、当前窗体被创建、消毁时,系统会调用WH_SHELL Hook过程。使用HOOK 安装、销毁HOOK过程 监视系统事件使用SetWindowsHookEx函数,指定一个HOOK类型,自己的HOOK过程是全局还是局部HOOK,同时给出HOOK过程的进入点,就可以轻松的安装你自己的HOOK过程。Declare Function SetWindowsHookEx Lib user32 Alias SetWindowsHookExA _ (ByVal idHook As Long, _ ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As

24、 Long) As LongidHook代表是何种Hook,有以下几种 Public Const WH_CALLWNDPROC = 4 Public Const WH_CALLWNDPROCRET = 12 Public Const WH_CBT = 5 Public Const WH_DEBUG = 9 Public Const WH_FOREGROUNDIDLE = 11 Public Const WH_GETMESSAGE = 3 Public Const WH_HARDWARE = 8 Public Const WH_JOURNALPLAYBACK = 1 Public Const W

25、H_JOURNALRECORD = 0 Public Const WH_KEYBOARD = 2 Public Const WH_MOUSE = 7 Public Const WH_MSGFILTER = (-1) Public Const WH_SHELL = 10 Public Const WH_SYSMSGFILTER = 6lpfn代表Hook Function所在的Address,这是一个CallBack Fucnction,当挂上某个Hook时,我们便得定义一个Function来当作某个讯息产生时,来处理它的Function,这个Hook Function有一定的叁数格式 Private Funct

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2