| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1127 人关注过本帖, 1 人收藏
标题:关于RUN调用外部程序在指定表单FORM里面显示的问题?
只看楼主 加入收藏
kentg
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-11-27
结帖率:100%
收藏(1)
 问题点数:0 回复次数:13 
关于RUN调用外部程序在指定表单FORM里面显示的问题?
请问用RUN命令调用外部应用程序,如何在指定的FORM里面显示,而不是在FORM外面显示,就是所调用的外部应用程序如何作为子窗口显示,谢谢大家。
搜索更多相关主题的帖子: 应用程序 如何 
2013-08-15 20:40
whinda
Rank: 6Rank: 6
等 级:贵宾
威 望:13
帖 子:253
专家分:418
注 册:2012-2-4
收藏
得分:0 
用WIN32API吧,先FindWindowg再SetParent,就搞掂了。
2013-08-15 21:14
kentg
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-11-27
收藏
得分:0 
回复 2楼 whinda
可以详细一点吗?谢谢。比如我的程序是“run /n c:\a.exe”然后呢?
2013-08-15 21:19
whinda
Rank: 6Rank: 6
等 级:贵宾
威 望:13
帖 子:253
专家分:418
注 册:2012-2-4
收藏
得分:0 
下面只是个例子,建个EXCEL的窗口,EXCEL就跑到VFP里了。
程序代码:
public  hwfox,hwexcel,oe
DECLARE INTEGER SetParent in win32api as st integer, integer
DECLARE integer FindWindow in win32api as fw string,string
oe=CREATEOBJECT("excel.application")
oe.visible=.t.
hwfox=fw(null,"Microsoft Visual FoxPro")
hwexcel=fw(null,"Microsoft Excel")
=st(hwexcel,hwfox)


[ 本帖最后由 whinda 于 2013-8-15 22:06 编辑 ]
2013-08-15 21:40
whinda
Rank: 6Rank: 6
等 级:贵宾
威 望:13
帖 子:253
专家分:418
注 册:2012-2-4
收藏
得分:0 
变量声明时用public哈,不然,命令窗口一运行完局部变量就被释放了,对象也就没了。
2013-08-15 21:43
kentg
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-11-27
收藏
得分:0 
回复 4楼 whinda
我试着把你的代码拷到prg文件里运行,但窗口一闪而过就没了。
2013-08-15 21:50
kentg
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-11-27
收藏
得分:0 
回复 5楼 whinda
还有的就是,如果是指定的exe呢?比如“c:\a.exe”,谢谢,非常感谢指教。
2013-08-15 21:51
whinda
Rank: 6Rank: 6
等 级:贵宾
威 望:13
帖 子:253
专家分:418
注 册:2012-2-4
收藏
得分:0 
不太支持用这种方式执行外部程序,也可以用WIN32API,ShellExecute来执行外部程序。
DECLARE INTEGER ShellExecute IN "Shell32.dll" as exe INTEGER hwnd,STRING lpVerb,STRING lpFile,STRING lpParameters,STRING lpDirectory,LONG nShowCmd

这里声明别名调为exe
参数分别为:
父窗口,c动作,c要执行的外部程序,给定的命令行参数,c要执行的外部程序的默认目录,外部程序打开的窗口样式

=exe(hwParent,"open","c:\windows\system32\command.exe",0,"c:\windows\system32\",3)
这条命令就是在指定的窗口中打开command.exe,并且最大化窗口。
2013-08-15 22:01
kentg
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-11-27
收藏
得分:0 
回复 8楼 whinda
虽然还是达不到我的要求,不过还是非常感谢你了。
2013-08-15 22:32
whinda
Rank: 6Rank: 6
等 级:贵宾
威 望:13
帖 子:253
专家分:418
注 册:2012-2-4
收藏
得分:0 
凡是顶层表单都可以作为父窗口,也即一个容器,实际上,VFP的命令窗口现在的dock方法就是用的API实现的。
图片附件: 游客没有浏览图片的权限,请 登录注册
2013-08-15 22:34
快速回复:关于RUN调用外部程序在指定表单FORM里面显示的问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.055629 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved