【VB开源代码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了VB开源代码-VFP和VB编程实现文件关联 - 期刊论文的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
2004年1 2月 电 脑 学 习 第6期 关联 曹大林+摘 要 文件关联是应用程序安装注册的重要内容。
本文分析了Wjhdows系统中文件与程序关联的原理。
提出用程序实现 这种关联的方法.给出在VFP6.0和VB6.0语言环境中使用Windows API函数编程的源
代码。
关键词 VFP VB Windows API函数 注册表 扩展名 关联 ReaHzati伽of Relation Between Fnes by VFP and VB Progra】mIIling Cao DaliII Rela“on between 6les is of insta儿ation and regisⅡy of an important content an application.This p印er describes its principle,pI.esents me山ods of realiziflg tIle relation by programming and gives source pmgram code of VFP6.0 龃d VB6.0 by windows API functions pmgraIIming.KeywOrd VFP VB Windows API Function Register Table Su珩x Name Relation 所谓的文件关联就是将文件(或称
文档,以下统称文 程序并打开相应的“.txt”文件。
件)与建立该文件的应用程序之间建立一种链接关系,从 2文件与程序关联的程序实现而不必先启动应用程序再打开文件,而是可以在打开文件 文件关联的设置在注册表的根键HKEY—CLASS—的同时,自动启动相关的应用程序。
对于已经建立了关联的 E殳R00T下完成,同时系统将建立的关联自动映射到另一文件,只要双击文件的图标,就可以打开相应的应用程序并 根键HKEY_LOCAL_MACHINE的、soflware\classes予键中。
同时载入该文件;对于未建立关联的文件类型,尽管wIN—DOwS系统在资源管理器中提供了”文件夹选项”对话框,让 下面以”一”为扩展名的文本文件与记事本程序 (Notepad.exe)的关联为例,说明其实现的方法。
用户通过界面操作来实现这一关联,但在开发应用程序的 如图2所示,在注册表的根键HKEY—CLASSEs—ROOT过程中,常常需要建立特定类型的文件,用程序的方式来完成这些特定类型文件的注册,实现与相关程序的关联。
本文 下以文件扩展名”.一”作为键名建立子键并设置该f键的以扩展名为”仅t,,的文本文件与记事本程序(Notepad.exe)的 默认值为”xx)【file”:接着在同一根键下,以”.一”了键的默认 值即”xx】【file”作为键名建立子键,同时在该子键卜-逐级建立关联为例讨论了文件与相关程序的关联原理以及在VFP和vB环境F程序实现的方法。
下级子键:”讪e儿\open\co唧and”,将末级子键”command,,的 默认值设置为相关程序的安装路径及相关参数,例如在本 1文件与程序关联的原理 例中设置为”C:\windows、、Ilotepate.exe,,%1。
至此,建立了文 在windows
系统中实现文件与程序的关联的过程实际 件与相关程序之间的关联链表。
上是在注册表中建立了一个从文件扩展名到程序安装路径 在HEKY—cLAssES_RooT根键下建立予键:.xxx的链表。
图1是扩展名为”科的文本文件与记事本程序 l(NmeDad.exe)在
注册表根键HKEY二CLASSEs_R00T中的 设置子键.x“的默认值为xx妨le关联链表。
键名 默认键值 l l在HKEY—cLAssES_RooT根键下建立予键,其键名为子键 I.x)【】【的默认值xxxfile l I在xx妯le子键名下逐级建立下级子键沁heuklpen、c。
m“land 图1扩展名为“眦”的文本文件与记事本程序的关联链表 l 当双击带有扩展名为”.t)【t”的文件时,系统从注册表的 l设置子键cormand的默认值为相关
程序的安装路径及参 l数:“c:\windowj\notepad.exe”%1根键HKEY—CLASSES_ROOT下查找到子键”.txt”,并取得其 图2文件与程序关联程序实现流程图默认值”t】【tfile”:接着在同一根键下查找到子键”t】【t6Je”,并从它的F级子键\sheU\open、com舢d中取得相关程序的启动 建立以上的关联后,在注册表中可看到如图3的结构。
路径及相关参数”C:\Window81motepad.exe”%1,系统启动该+曹大林江苏省南通医学院计算机应用教研室副教授(226001),从事
计算机应用教学及数据库开发与研究。
收稿日期:2004—06—22 · 55 · 我的.电脑 Ⅱlne乃。
Df=ERROR—SUCCESS’I’ben L—一H琴EY#LASSEs—R00T lneHorl=RegSetValueE】【(1llresult,cvalueIl锄e,O,REG_SZ,cvalue,cval— L一.奴x默认值x础le ue8jze) L一。
』【)dil。
endif L sIleU =RegcloseKey(Illresult) L叩e“ L con¨Md默认值“c:、windows endfbr \IloteDad.exe”%l visual Basic 6.O程序
代码: 图3文件与程序关联后注册袁的结构 标准模块: 利用上述的方法,用户可以根据需要自行设置某一特 nlblic Const HKEY_CLASSE&R00T=&H8000000lo 定的文件类型与某一应用程序的关联。
下面分别是在vi— Pllblic Const ERRORjUCCEsS=O& sual F0xPro 6.O和vjsual B鹪jc 6.O环境下实现扩展名 nlblic C呻st REG—SZ=1 PI王blic Dedare Function RegcreateKey Ub”adv印i32.dll”Ali鹅” 为”.xxx”类型的文本文件与记事本程序”Notepad.exe” (默 RegCreateKeyAf, (ByVal hKey As Lon昏 ByVal lpSubKey As 认安装在C:、Window8文件夹下,windows2000默认安装在 Strillg,pllkResult As L0ng)As Long c:\winnt文件夹下)关联的程序源
代码段。
这两段程序代 PubKc Declare Function RegsetValueEx Lib”adv印i32.dll”Ali鹊” 码,旨在表达用程序的方式建立特定的文件扩展名与支持 RegsetValueE】【A” (ByVal hKey As Long,ByVal lpValueN踯e As 程序之间关联的思想,只要将源
代码中与文件扩展名有关 StriIlg,ByVal Reserved As hng,ByVal dwType As LoIlg,ByVal 的子键名和键值以及与关联程序启动路径有关的子键名和 lpDat8 As strin昏ByV8l cbData As Long)As Long 键值(即数组RegPatha和cvaluea的各元素的值)更改为用 PIlblic Declare Function RegCloseKey Lib”adv印i32.dU” (ByVal hKey As Long)As Lo“g 户开发的应用软件支持的文件类型及其安装路径便可以将 窗体程序: 该段源
代码嵌入开发的应用
软件安装程序的注册
代码段 Private Sub RelationBut—Click() 中,完成用户开发的应用程序与其所支持的文件类型之间 Dim RegPatha(2),cvaluea(2)As St血g 的关联的设定。
Dim cv8Iue As striIlg Visu越FoxPro 6.0程序
代码: RegPalha(1):”.xxx” Relationcmd.Click事件(建立关联)源
代码 RegPaLha(2)=”殛舭讪eu呻e山叭n啪nd” o】【8撇O cle“dlls . cvalu腿(1)=”xx曲le”+Cllr(O)样d面ne HKEY-CLASSES_ROOT c试u憾(2)=C壬Ir(34)+”c:、wjndows‰£epad.exe”+Chr(34) +『,蒯以ne ERROR_SUCCESS O %l”+Cllr(O)矧eIine REG—sz 1 ,cvaluea(2)==chr(34)+”c:、winnt、Ilotepad.exe”+chr(34)+”%l”+chrDeclare integer Reg(二删eKey in adVapi32.dll integer hKey, st五ng (O)’备用用于windows2000@lpSubKey,inte学er@phkResuh lnfesult=0Decl黜integer RegsetV8lueEx in adv印i32.dll integer hKey,s函ng cvaluename=’胛lpValueN锄e,integer Reserved,integer dwType,striI喝lpData,imeger Fbr i=1 7r0 2cbData Re泓h=RegPanla(i)Dedare integer RegClo∞Key in adv8pi32.dll integer hKey lIlemr。
=RegCreafeKey(HKELCLASSES-R00T,RegPath,lnre—dimension RegPHlha(2),eval哪(2) sult)Re婀ha(1)=”.x】【)【” cvalue=cvaluea(i)RegPa出a(2)=,,xx棚幽hell却en、c咖m∞d” cvalue或ze=Len(cvaluea(j))cvaluea(1)=”xx)dile”+chr(O) ⅡlnenDr=ERROR—SUCCESS Thencvalu腿(2)=chr(34)+”c:\window如otep8d.exe”+cllr(34),%l”+ lIlenwl=RegsetValueEx(1nresIllt,cvalueI岫e,O,REG—Sz,cval—cIlr(0) ue.cvaluesize) EndⅡ+cvaluea(2)=chr(34)+『,c:\winnt、Ilot印ad.exe”+chr(34),%1”+cIlr(O) &&备用于windows2000 rc=RegCl∞eKey(hlIe8ult)lnresul【-O Nextcvaluen哪e=M End Sub£or i-1 to 2 3结束语RegPatll=RegPatll8(i)ln唧=RegcreateKey(HKEY-cLASsE£R001j@RegPa山,@lnresIdt (1)建立文件与应用程序之问的关联实际上是应用 程序安装过程中进行注册的主要内容。
不同的应用程序在 安装过程中注册的内容不尽相同,但只要应用程序支持某 种类型的文件,就必须建立应用程序与其支持的文件之间 2004年1 2月 电 脑 学 习 第6期 VFP系统实现单纯随机抽样程序的开发及应用 王素珍+ 杨蕾摘 要 单纯随机抽样是医学科研设计中最基本的抽样方法。
介绍抽样程序开发过程及应用。
关键词 随机抽样 程序设计 样本例数 均数抽样 率抽样 DeVdopm明t of Single R锄d哪SampUng Program懈th VFP Wang S眍hen Ya哩Lei 触tract Ralldom s锄phng is tlle basic s锄pling metllod in medical research蛐d de8igll..nIe paper presents tlle develop— Inent and appdjcations of s蛐pling pmgram.Keyword Random Sampling Progr锄Design S啪ple Size MeaIl S锄pling Pmbabilit)r 在医学科研领域,调查
设计首先要进行抽样设计〔1〕,在 .