关于vfp调用其他应用程序的问题
在网上学习了“在VFP中调用其他应用程序的实用技术”,并通过以下代码进行了验证,确是可以很方便地通过命令:=shellstart("D:\AAA\FILE1.doc")打开文件FILES1.DOC, 彻底扔掉RUN命令。用该命令同样可调用xls、pdf等格式文件。但,当调用rar格式时,遇到问题:开机后第一次执行该函数调用无任何反应,第二次以后均正常。
不明白是什么原因,请各位高手指点。
Function shellstart
Para documentname
* 声明ShellExecute函数
DECLARE INTEGER ShellExecute IN shell32.DLL INTEGER HWND,;
STRING lpszOP, ;
STRING lpszFile, ;
STRING lpszParams, ;
STRING lpszDir, ;
INTEGER fsshowcmd
* 指定ShellExecute函数的输出指向Windows桌面
DECLARE INTEGER GetDesktopWindow IN win32api
HWND = GetDesktopWindow()
* 指定操作命令为"打开"方式
lpszOP = "open"
* 指定ShellExecute操作的对象为 documentname
lpszFile = documentname
lpszParams = ""
* 指定ShellExecute的缺省目录为c:\temp
lpszDir = "c:\temp"
fsshowcmd = 0
* 执行ShellExecute命令
LNRETURN = ShellExecute(HWND, lpszOP,lpszFile, lpszParams, lpszDir,fsshowcmd)
RETURN
=shellstart("D:\AAA\FILE1.doc")
=shellstart("D:\AAA\FILE2.pdf")
=shellstart("D:\AAA\FILE3.rar")