回 帖 发 新 帖 刷新版面

主题:如何用 VFP 打开 PDF 文件

在网上找到关于如何用 VFP 打开 PDF 文档的贴如下:

declare integer shellexecute in shell32.dll integer hwnd,string,sting lpszfile,string,string,integer

lpszfile="c:\vfp98\aa.pdf"
=shellexecute(0,0,lpszfile,0,0,1)

由于我是初学者,上述代码看不明白,那位老师可以详细解释一下吗?
例如上述代码的各参数是什么意思.

谢谢了!

回复列表 (共11个回复)

沙发

我依样画葫芦,却提示:在 DLL 中找不到入口点 shellexecute

万望老师们指点指点.

谢谢!

板凳

也来画瓢:

DECLARE INTEGER ShellExecute IN SHELL32.DLL INTEGER ,STRING,STRING,STRING,STRING,INTEGER  

lpszfile="c:\vfp98\aa.pdf"
=shellexecute(0,'',lpszfile,'','',1)

3 楼

Api 的函数名一定要分大小写。

4 楼

shellexecute  名称没区分大小写,错误!

ShellExecute 每个单词是以大写形式区分的。正确!

5 楼


declare integer [color=FF0000]S[/color]hell[color=FF0000]E[/color]xecute in shell32 integer,string,st[color=FF0000]r[/color]ing ,string,string,integer

integer 表示32位数字类型的参数
string  表示32位字符串类型的参数


6 楼

又找到一个贴:
DECLARE INTEGER ShellExecute IN Shell32.DLL INTEGER HWND,STRING,STRING lpszFile,STRING,STRING,INTEGER
=ShellExecute(0,'Open',lpszfile,'','',1)
依样画葫芦, OK 了,不过仍然不明白各参数的含义.
例如: 0是什么意思,为什么写入 '','',1等.

望各位老师指点指点入门的基本知识.

谢谢!

7 楼

另外,请问 API 函数有哪些对初学者易懂易学的教材?

8 楼

ShellExecute 是根据注册表已经关联的程序,用不同的方式,操作指定的文件。


1).标准用法
  ShellExecute函数原型及参数含义如下:
  function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,Directory: PChar; ShowCmd: Integer): HINST; stdcall;
  ●hWnd:用于指定父窗口句柄。

  ●Operation:用于指定要进行的操作。
         “open”操作表示执行由FileName参数指定的程序,或打开由FileName参数指定的文件或文件夹;
         “print”操作表示打印由FileName参数指定的文件;
         “explore”操作表示浏览由FileName参数指定的文件夹。
          当参数设为 0 时,表示执行默认操作“open”。 
  ●FileName:用于指定要打开的文件名、要执行的程序文件名或要浏览的文件夹名。
  ●Parameters:若FileName参数是一个可执行程序,则此参数指定命令行参数,否则此参数应 0 、""、或为空。
  ●Directory:用于指定默认目录。
  ●ShowCmd:若FileName参数是一个可执行程序,则此参数指定程序窗口的初始显示方式,否则此参数应设置为0。

9 楼

谢谢 cb1518 老师,如此详细的解释,让我有了点头绪.我要仔细学习学习.
还有
上述函数是否有返回值,例如:
1. 假设我要打开 PDF 文件而还没有安装 READER
2. 假设 PDF 文件不存在或在指定的路径上找不到文件


10 楼

若ShellExecute函数调用成功,则返回值为被执行程序的实例句柄。
若返回值小于32,则表示出现错误。

我来回复

您尚未登录,请登录后再回复。点此登录或注册