资源描述:
《如何在vfp中调用默认关联的程序打开文件》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、如何在VFP中调用默认关联的程序打开文件?(2007-01-2017:13:12)转载 分类:『数据库-DB』如何在VFP中调用默认关联的程序打开文件?怎样在一个菜单中建立一个程序或命令打开一个网页或word,excel等文件???---------------------------------------------------------------打开一个网页与word,excel是不一样.1.word,excel要用ACTIVEX的OLECONTROL控件.2.打开一个网页要用到HYPE
2、RLINK控件.可以在表单上加一个TEXT一个COMMANG控件,还有一个超级链接HYPERLINK控件.COMMAND.CLICK事件:THISFORM.HYPERLINK.NAVIGATETO(THISFORM.TEXT.VALUE)在vfp的例子中找到了一个这个问题的解决方法,使用api函数来解决,如下:1、声明函数DECLAREINTEGERShellExecute;INSHELL32.DLL;INTEGERnWinHandle,;STRINGcOperation,;STRINGcFile
3、Name,;STRINGcParameters,;STRINGcDirectory,;INTEGERnShowWindow2、在程序中任何地方调用,包括菜单中,打开一个e:a.htm文件的调用方法如下,=ShellExecute(0,"Open","e:a.htm","","e:",1)---------------------------------------------------------------在VFP中我们可以用run来调用由VFP自身生成的.exe文件。命令格式:runc
4、:..*.exe当调用非VFP自身生成的.exe文件时,需要加上绝对路径和参数。一般来说,用VFP运行非VFP自身生成的可执行文件时,会有一个黑色的窗口显示一下。可以通过加上/n来隐藏这个窗口。例如运行Windows下的扫雷游戏,命令格式如下:RUN/nC:WindowsWinmine.exe下面运行一个更复杂一点的程序。用word打开c:下的一个名为mlx.doc的word文件,命令格式如下:run/n3C:ProgramFilesMicrosoftOfficeOfficeWi
5、nword.exeC:mlx.doc参数:n在运行时隐藏VFP的黑色窗口。3表示以最大化的方式运行程序。0隐藏窗口、1正常方式、2最小化方式、3最大化方式在这种情况下,虽然可以通过加上参数使程序程序能够流畅运行,但还是要指定绝对路径,而在实际开发时我们常常无法确定所需要启动的应用程序的文件名及其绝对路径。比如,在上例中,我们无法确定用户的word到底安装在什么地方,如果用户把word安装到了别的地方,上述命令便会出错。再如,一个.gif文件,有的用户喜欢用ACDSee来打开,有的用户喜欢用IE来
6、打开,有的用户喜欢用豪杰来打开,……为了解这种情况我们可以调用Windows的文件关连来打开文件。即所有的文件都用系统默认的程序来打开。这就要调用Windows的Win32API函数。调用方式如下DECLAREINTEGERShellExecuteINshell32.DLLINTEGERHWND,;STRINGlpszOP,;STRINGlpszFile,;STRINGlpszParams,;STRINGlpszDir,;INTEGERfsshowcmdDECLAREINTEGERGetDeskt
7、opWindowINwin32apiHWND=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。如果指定的文件名W
8、indows无法找到相应的关连程序,这时程序将不会做出反应。有关的参数可以自行偿试进行修改,以达到最佳效果。----------------------------------------------------------------API函数ShellExecute的使用ShellExecute说明Shellexecute函数用于对文件执行一个动词(verb).它通常用于启动一个与特定文件类相关联的应用程序.例如,要启动Word来读一个.doc文件,或启动记事本来编辑一个.tx