Foxtable(狐表)用户栏目专家坐堂 → 调用外部程序,一闪就完成了,怎么暂停或按任意键退出


  共有3213人关注过本帖树形打印复制链接

主题:调用外部程序,一闪就完成了,怎么暂停或按任意键退出

帅哥哟,离线,有人找我吗?
cyrollin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
调用外部程序,一闪就完成了,怎么暂停或按任意键退出  发帖心情 Post By:2019/5/27 18:19:00 [只看该作者]

按照论坛里面介绍的方法:
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=73007&authorid=0&page=0&star=4

Dim Proc As New Process

Proc.File = "pytest.py"

Proc.Start()

System.Threading.Thread.Sleep(1000)

SetParent(Proc.MainWindowHandle, e.Form.BaseForm.Handle.ToInt32())


正常调用和执行了,但执行完pytest.py就自动退出了,我想让它执行完就暂停,按任意键退出,是要在pytest.py里面写代码吗?




 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/27 18:26:00 [只看该作者]

 

方法一:在pytest.py里面暂停即可。

 

https://www.baidu.com/baidu?wd=python+%E6%8C%89%E4%BB%BB%E6%84%8F%E9%94%AE

 

方法二:调出cmd.exe窗口,再调用执行命令

 

Dim p As new Process()
p.StartInfo.FileName = "cmd.exe"
p.StartInfo.UseShellExecute = False '关闭Shell的使用
p.StartInfo.RedirectStandardInput = True '重定向标准输入
p.StartInfo.CreateNoWindow = False '设置不显示窗口
p.Start()
p.StandardInput.WriteLine("ping baidu.com")
'p.StandardInput.WriteLine("exit")


 回到顶部
帅哥哟,离线,有人找我吗?
cyrollin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2019/5/27 18:45:00 [只看该作者]

甜甜好能干,什么都会,真没看错人图片点击可在新窗口打开查看

已经下班了吧,吃饭了没,我好想请您吃一顿好的,补补身体 图片点击可在新窗口打开查看。。。

 回到顶部
帅哥哟,离线,有人找我吗?
cyrollin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2019/5/28 19:12:00 [只看该作者]

甜,在窗口设计里面点运行外部PY就没问题,但是在自动打开的主窗口就出现问题了,::  未将对象引用设置到对象的实例。

 

是怎么回事呢?

 

 


图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20190528190720.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/5/28 20:24:00 [只看该作者]

Proc.File = ProjectPath & "date.py"

 回到顶部
帅哥哟,离线,有人找我吗?
cyrollin
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2019/5/29 15:19:00 [只看该作者]

可以了,谢谢蓝天白云

 回到顶部
帅哥哟,离线,有人找我吗?
cyrollin
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2019/5/31 15:50:00 [只看该作者]

.NET Framework 版本:2.0.50727.8940
Foxtable 版本:2018.10.9.1
错误所在事件:窗口,窗口1,Button1,Click
详细错误信息:
未将对象引用设置到对象的实例。

 

今天又不行了,

 

 

 

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/31 17:28:00 [只看该作者]

延时长一点,即可

 

Dim Proc As New Process
 Proc.File = ProjectPath & "date.py"
Proc.Start()
System.Threading.Thread.Sleep(3000)
SetParent(Proc.MainWindowHandle, e.Form.BaseForm.Handle.ToInt32())


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/5/31 17:30:00 [只看该作者]

或者改成

 

Dim Proc As New Process
Proc.File = ProjectPath & "date.py"
Proc.Start()
Do While Proc.MainWindowHandle = 0
    application.Doevents
Loop

SetParent(Proc.MainWindowHandle, e.Form.BaseForm.Handle.ToInt32())


 回到顶部
帅哥哟,离线,有人找我吗?
cyrollin
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:821 积分:5760 威望:0 精华:0 注册:2015/2/3 22:19:00
  发帖心情 Post By:2020/4/17 11:55:00 [只看该作者]

在原电脑上运行正常,没有错误提示。今天换到另外一台电脑上运行,又出现这个问题. 

图片点击可在新窗口打开查看

是不是和WINDOWS系统有关系呢? 二台都是WIN10.
[此贴子已经被作者于2020/4/17 11:56:01编辑过]

 回到顶部
总数 15 1 2 下一页