问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

再问怎样在VFP中调用外部命令

发布网友 发布时间:2022-05-23 00:58

我来回答

1个回答

热心网友 时间:2023-10-09 14:24

在VFP中如何调用其它程序
-------------------------------------------------------------

Declare Long WinExec In kernel32 String,Long
=WinExec("notepad.exe",1)
Clear Dlls

WinExec(one.exe,SW_SHOW);
里面的SW_SHOW意思是什么
WinExec()函数第二个参数是什么意思
如果我想以无参数运行one.exe应该怎么办??
SW_SHOW表示以当前大小激活运行后的程序窗口并显示它。
第二个参数是控制程序主窗口的显示方式
第二个参数可能的取值为 :
************************* 窗口指定可视性定义 **********************************API函数ShellExecute中最后一个参数及wscript.shell方法中的第2个参数也是这样定义的。
0SW_HIDE 隐藏窗口,活动状态为原调用窗口
6SW_MINIMIZE 最小化窗口,活动状态为原调用窗口
9SW_RESTORE 用原来的大小和位置显示一个窗口,同时令其进入活动状态
5SW_SHOW 用当前的大小和位置显示一个窗口,同时令其进入活动状态
3SW_SHOWMAXIMIZED 最大化窗口,并将其激活
2SW_SHOWMINIMIZED 最小化窗口,并将其激活
7SW_SHOWMINNOACTIVE 最小化一个窗口,同时不改变活动窗口
8SW_SHOWNA 用当前的大小和位置显示一个窗口,不改变活动窗口
4SW_SHOWNOACTIVATE 用最近的大小和位置显示一个窗口,同时不改变活动窗口
1SW_SHOWNORMAL 与SW_RESTORE相同
****************************************************************************
一般情况下,第二个参数取SW_SHOWNORMAL即可,这样就是无参数运行App.exe
WinExec("App.exe -参数" , SW_SHOWNORMAL);第二个参数只是WinExec函数的参数,不是AppName.exe的参数。



ox=Createobject("wscript.shell")
ox.Run("notepad.exe",1,0) &&第2个参数参考上面《窗口指定可视性定义》,第3个参数0表示调用后马上将控件权返回原调用程序,1表示直接被调用程序结束后才将控件权返回原调用程序(调用外部文件时让系统一直等待,直到运行结束才返回控制权就可以了)。
Release ox

如:

ox=Createobject("wscript.shell")
ox.Run("cmd /c copy c:\abc\1.txt d:\",0,1)
Release ox
Messagebox('操作完成!',64,'信息提示')



在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无法找到相应的关连程序,这时程序将不会做出反应。有关的参数可以自行偿试进行修改,以达到最佳效果。

-------------------------------------------------------------
API函数ShellExecute的使用

ShellExecute
说明 Shellexecute 函数用于对文件执行一个动词(verb). 它通常用于启动一个与特定文件类相关联的应用程序. 例如, 要启动 Word 来读一个 .doc 文件, 或启动 记事本 来编辑一个 .txt 文件. 用于第二个参数中的最常用的动词是 "Open", 但其它可用的动词是 "edit","print","explore" 和 "properties". 有趣的是, 使用 "mailto:" 或 "http://" 前缀, ShellExecute 函数也可用于以一个给定的邮件地址启动默认的邮件阅读器或给定的 URL 启动默认的浏览器.
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
请问世事洞明皆学问,人情练达即文章是什么意思呀 世事洞明皆学问人情练达即文章意思 翡翠中的绿是怎么形成的翡翠中的绿是如何形成的 小学资格证音乐好考吗 关于心机套路深的句子 大宗交易体现在龙虎榜吗 一个大锅盖,怎样加两个高频头,收看同一个卫星呢?请高手指教。_百度知 ... 如何制作卫星锅 DNF 里有个任务不知道怎么做,请各位帮我看一下 国内怎么炒黄金期货? 如何用VFP调用API 我的户口是铁岭县西营盘的,请问我怎么办护照呢?办护照需要什么材料呢? 铁岭市哪里办护照 护照办理需要什么手续? 身份证是铁岭的 想办护照 铁岭护照几天能办下来? 我是辽宁铁岭西丰人,办理"出国护照"去哪里?? 还需要准备什么???把办理地点说详细些,谢谢了!~ 我是铁岭市昌图县三江口镇人,想办理护照旅游~应该去哪办?什么流程~有知道的帮我一下。谢谢了。详细点 铁岭在哪办护照 在铁岭办护照和港澳通行证需要带什么?都有使用期限吗 定居,打听一下,在铁岭能办护照吗 铁岭在哪办理护照呢?在哪照护照照片呢? 铁岭办护照流程 良字上面少一点是什么字呀? 草字头,下面一个良子少一点怎么读 均胜电子股票现在多少钱一个?均胜电子现股价多少钱?均胜电子今日消息是利空还是利好? 广晟有色股票现在多少钱一个?广晟有色现股价多少钱?广晟有色今日消息是利空还是利好? 如何看待金蝶云苍穹? 格林美股票现在多少钱一个?格林美现股价多少钱?格林美今日消息是利空还是利好? 顺络电子股票现在多少钱一个?顺络电子现股价多少钱?顺络电子今日消息是利空还是利好? VFP 传参reference 如何使用清华紫光阅卷机 导入学生名单 omr VFP联编的文件不能用。 VFP中,怎样从菜单调用报表 vfp的API函数怎么用,完全没有概念,请大神赐教。 VFP程序设计出现这种问题怎么解决? VFP菜鸟问题 vc6.0写的dll如何给其他编程软件调用 成都茶店子汽车站到九寨沟县发车时间 请问从成都到九寨沟的班车时刻表? 在九寨沟怎么坐车回成都,在哪里坐 成都到九寨沟班车情况 左边脸经常红是怎么回事 左边脸上有一点红血丝,脸总是红,怎么办 我的左边脸上有红血丝怎么办?拜托各位大神 脸颊突然特别红! 为什么一到晚上!我的左边脸就会发红发热? 我的脸突然红了怎么回事 为什么只有左边脸很红? 一个手机怎样登录三个
  • 焦点

最新推荐

猜你喜欢

热门推荐