如何在VFP中调用默认关联的程序打开文件.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 如何 VFP 调用 默认 关联 程序 打开 文件
- 资源描述:
-
如何在VFP中调用默认关联的程序打开文件? (2007-01-20 17:13:12) 转载 分类:『数据库-DB』 如何在VFP中调用默认关联的程序打开文件? 怎样在一个菜单中建立一个程序或命令打开一个网页或word,excel等文件??? --------------------------------------------------------------- 打开一个网页与word,excel是不一样. 1.word,excel要用ACTIVEX的OLECONTROL控件. 2.打开一个网页要用到HYPERLINK控件. 可以在表单上加一个TEXT一个COMMANG控件,还有一个超级链接HYPERLINK控件. COMMAND.CLICK事件: THISFORM.HYPERLINK.NAVIGATETO(THISFORM.TEXT.VALUE) 在vfp的例子中找到了一个这个问题的解决方法,使用api函数来解决,如下: 1、声明函数 DECLARE INTEGER ShellExecute ; IN SHELL32.DLL ; INTEGER nWinHandle,; STRING cOperation,; STRING cFileName,; STRING cParameters,; STRING cDirectory,; INTEGER nShowWindow 2、在程序中任何地方调用,包括菜单中,打开一个e:\a.htm文件的调用方法如下, =ShellExecute(0,"Open","e:\a.htm","","e:\",1) --------------------------------------------------------------- 在VFP中我们可以用run来调用由VFP自身生成的.exe文件。命令格式: run c:\..\*.exe 当调用非VFP自身生成的.exe文件时,需要加上绝对路径和参数。 一般来说,用VFP运行非VFP自身生成的可执行文件时,会有一个黑色的窗口显示一下。可以通过加上/n来隐藏这个窗口。例如运行Windows下的扫雷游戏,命令格式如下: RUN/n C:\Windows\Winmine.exe 下面运行一个更复杂一点的程序。用word打开c:\下的一个名为mlx.doc的word文件,命令格式如下: run /n3 C:\Program Files\Microsoft Office\Office\Winword.exe C:\mlx.doc 参数:n 在运行时隐藏VFP的黑色窗口。 3 表示以最大化的方式运行程序。0隐藏窗口、1正常方式、2最小化方式、3最大化方式 在这种情况下,虽然可以通过加上参数使程序程序能够流畅运行,但还是要指定绝对路径,而在实际开发时我们常常无法确定所需要启动的应用程序的文件名及其绝对路径。比如,在上例中,我们无法确定用户的word到底安装在什么地方,如果用户把word安装到了别的地方,上述命令便会出错。再如,一个.gif文件,有的用户喜欢用ACD See来打开,有的用户喜欢用IE来打开,有的用户喜欢用豪杰来打开,…… 为了解这种情况我们可以调用Windows的文件关连来打开文件。即所有的文件都用系统默认的程序来打开。这就要调用Windows的Win32 API函数。调用方式如下 DECLARE INTEGER ShellExecute IN shell32.DLL INTEGER HWND,; STRING lpszOP, ; STRING lpszFile, ; STRING lpszParams, ; STRING lpszDir, ; INTEGER fsshowcmd DECLARE INTEGER GetDesktopWindow IN win32api HWND = GetDesktopWindow() lpszOP = "open" * 指定要打开的文件名 lpszFile ="c:\mlx.doc" lpszParams = "" lpszDir = "c:\temp" fsshowcmd = 1 * 执行ShellExecute命令 LNRETURN = ShellExecute(HWND, lpszOP,lpszFile, lpszParams, lpszDir,fsshowcmd) 可以用任意的文件名来替换上文中的 c:\mlx.doc 。如果指定的文件名Windows无法找到相应的关连程序,这时程序将不会做出反应。有关的参数可以自行偿试进行修改,以达到最佳效果。 ---------------------------------------------------------------- API函数ShellExecute的使用 ShellExecute 说明 Shellexecute 函数用于对文件执行一个动词(verb). 它通常用于启动一个与特定文件类相关联的应用程序. 例如, 要启动 Word 来读一个 .doc 文件, 或启动 记事本 来编辑一个 .txt 文件. 用于第二个参数中的最常用的动词是 "Open", 但其它可用的动词是 "edit","print","explore" 和 "properties". 有趣的是, 使用 "mailto:" 或 "http://" 前缀, ShellExecute 函数也可用于以一个给定的邮件地址启动默认的邮件阅读器或给定的 URL 启动默认的浏览器. 缩主文件 Shell32.dll 在 VFP 中的定义 DECLARE INTEGER ShellExecute IN "Shell32.dll" ; INTEGER hwnd, ; STRING lpVerb, ; STRING lpFile, ; STRING lpParameters, ; STRING lpDirectory, ; LONG nShowCmd Visual FoxPro 应用示例 * 打开 Word 来编辑文件 "c:\mywordfile.doc" =Shellexecute(0,"Open","c:\mywordfile.doc","","",0) * 打开默认的浏览器并定位到天堂论坛 =Shellexecute(0,"Open"," * 打开默认的邮件阅读器来发一封信给天堂版主 =Shellexecute(0,"Open","mailto:njjane@","","",0) * 打印文本文件 "c:\mytextfile.txt" =Shellexecute(0,"Print","c:\mytextfile.txt","","",0) --------------------------------------------------------------- 其实有两个比较简单的方法 1、 run/n explorer "" 2、 ox=createobject("wscript.shell") ox.run("http:/") 3、 declare integer WinExec in win32api string,integer&&这个INTEGER类型的参数是窗口的显示模式最大化,最小化,普通 winexec("explorer ",3) --------------------------------------------------------------- 在OLEContainer1 的 init事件中加入这句话就可以了 This.navigate("") 文章引用自: 我想用VFP打開d:\abc.pdf 怎樣寫程序呢? --------------------------------------------------------------- 方法一: 先安装Adobe Reader 5.0或6.0 *将下面程序代码保存为一个prg文件,传入PDF文件名作为参数即可。 LPARAMETERS tFile PUBLIC oform1 oform1=NEWOBJECT("form1") IF VARTYPE(cFile) # "U" oForm1.cmdFile.Visible = .f. oForm1.cmdExit.Visible = .f. oForm1.oleControl1.Top = 12 oForm1.oleControl1.LoadFile([&cFile]) ENDIF oform1.Show *RETURN ********************************************************** DEFINE CLASS form1 AS form DoCreate = .T. Caption = "pdfForm" Name = "Form1" ADD OBJECT cmdfile AS commandbutton WITH ; Top = 12, ; Left = 12, ; Height = 27, ; Width = 144, ; Caption = "Select File", ; Name = "cmdFile" ADD OBJECT cmdexit AS commandbutton WITH ; Top = 12, ; Left = 168, ; Height = 27, ; Width = 84, ; Caption = "E\<xit", ; Name = "cmdExit" ADD OBJECT olecontrol1 AS olecontrol WITH ; OLEClass = "PDF.PdfCtrl.6", ; &&如果是Adobe Reader 5.0,此处的6为5 Top = 48, ; Left = 12, ; Height = 192, ; Width = 348, ; Name = "Olecontrol1" PROCEDURE Init ThisForm.ReSize() ENDPROC PROCEDURE Resize ThisForm.Olecontrol1.Height = ThisForm.Height - 60 ThisForm.Olecontrol1.Width = ThisForm.Width - 24 ThisForm.Olecontrol1.Refresh() ENDPROC PROCEDURE cmdfile.Click LOCAL cFile cFile = GETFILE([PDF]) IF !EMPTY(cFile) THISFORM.oleControl1.LoadFile([&cFile]) ENDIF ENDPROC PROCEDURE cmdexit.Click ThisForm.Release() ENDPROC ENDDEFINE --------------------------------------------------------------- 方法二:(不能显示在表单中) 1、首先要安装PDF阅读工具。 2、然后利用API来调用默认关联的程序打开PDF文件,请详见: 在VFP中我们可以用run来调用由VFP自身生成的.exe文件。命令格式: run c:\..\*.exe 当调用非VFP自身生成的.exe文件时,需要加上绝对路径和参数。 一般来说,用VFP运行非VFP自身生成的可执行文件时,会有一个黑色的窗口显示一下。可以通过加上/n来隐藏这个窗口。例如运行Windows下的扫雷游戏,命令格式如下: RUN/n C:\Windows\Winmine.exe 下面运行一个更复杂一点的程序。用word打开c:\下的一个名为mlx.doc的word文件,命令格式如下: run /n3 C:\Program Files\Microsoft Office\Office\Winword.exe C:\mlx.doc 参数:n 在运行时隐藏VFP的黑色窗口。 3 表示以最大化的方式运行程序。1正常方式、2最小化方式、3最大化方式 在这种情况下,虽然可以通过加上参数使程序程序能够流畅运行,但还是要指定绝对路径,而在实际开发时我们常常无法确定所需要启动的应用程序的文件名及其绝对路径。比如,在上例中,我们无法确定用户的word到底安装在什么地方,如果用户把word安装到了别的地方,上述命令便会出错。再如,一个.gif文件,有的用户喜欢用ACD See来打开,有的用户喜欢用IE来打开,有的用户喜欢用豪杰来打开,…… 为了解这种情况我们可以调用Windows的文件关连来打开文件。即所有的文件都用系统默认的程序来打开。这就要调用Windows的Win32 API函数。调用方式如下: DECLARE INTEGER ShellExecute IN shell32.DLL INTEGER HWND,; STRING lpszOP, ; STRING lpszFile, ; STRING lpszParams, ; STRING lpszDir, ; INTEGER fsshowcmd DECLARE INTEGER GetDesktopWindow IN win32api HWND = GetDesktopWindow() lpszOP = "open" * 指定要打开的文件名 lpszFile ="c:\mlx.doc" lpszParams = "" lpszDir = "c:\temp" fsshowcmd = 1 * 执行ShellExecute命令 LNRETURN = ShellExecute(HWND, lpszOP,lpszFile, lpszParams, lpszDir,fsshowcmd) 可以用任意的文件名来替换上文中的 c:\mlx.doc 。如果指定的文件名Windows无法找到相应的关连程序,这时程序将不会做出反应。有关的参数可以自行偿试进行修改,以达到最佳效果。来源:( - 如何在VFP中调用默认关联的程序打开文件?_SWAT_新浪博客展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




如何在VFP中调用默认关联的程序打开文件.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/8987799.html