注册 登录
编程论坛 VFP论坛

文件shellexecute.prg不存在,运行到这一步时

Glanido 发布于 2022-03-31 09:13, 932 次点击
   ShellExecute(0, "open","D:\TEMP\PLM.BAT", "", "", 1) ,显示文件不存在
3 回复
#2
kangss2022-03-31 16:41
shellexecute 是 api 命令

运行这个就行:
DECLARE INTEGER ShellExecute IN shell32.dll ;
    INTEGER hndWin, ;
    STRING cAction, ;
    STRING cFileName, ;
    STRING cParams, ;
    STRING cDir, ;
    INTEGER nShowWin

ShellExecute() 是 API 函数,在调用它之前必须先声明,一旦你声明了之后,你就可以使用 ShellExecute() 命令,DECLARE 语句有 6 个参数:
hndWin    : 程序主窗口的句柄,在 VFP 中,通常为 0;
cAction   : 运行的方式;
cFileName : 合法的可运行文件名;
cParams   : 可以包含的参数;
cDir      : 可运行文件名的所在目录/路径;
nShowWin  : 窗口的状态:(1 = 正常, 2 = 最小化, 3 = 最大化)。

#3
ccb20002022-04-02 16:04
DECLARE申明的API函数名称是区分大小写的,例如:
DECLARE INTEGER ShellExecute ... && 正确
DECLARE INTEGER shellexecute ... && 错误
建议:
DECLARE INTEGER "ShellExecute" ... && 正确
#4
kangss2022-04-11 13:05
ccb2000 说的对。加引号得养成习惯,容易被VFP的美化改成全大小或全小写。被改变大小写后,API 不但“失灵”还会出错。
1