以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  调用外部程序,一闪就完成了,怎么暂停或按任意键退出  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=135481)

--  作者:cyrollin
--  发布时间: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里面写代码吗?




--  作者:有点甜
--  发布时间: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
--  发布时间:2019/5/27 18:45:00
--  
甜甜好能干,什么都会,真没看错人图片点击可在新窗口打开查看

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

--  作者:cyrollin
--  发布时间:2019/5/28 19:12:00
--  

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

 

是怎么回事呢?

 

 


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


--  作者:有点蓝
--  发布时间:2019/5/28 20:24:00
--  
Proc.File = ProjectPath & "date.py"
--  作者:cyrollin
--  发布时间:2019/5/29 15:19:00
--  
可以了,谢谢蓝天白云
--  作者:cyrollin
--  发布时间:2019/5/31 15:50:00
--  

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

 

今天又不行了,

 

 

 

 

 

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


--  作者:有点甜
--  发布时间: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())


--  作者:有点甜
--  发布时间: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
--  发布时间:2020/4/17 11:55:00
--  
在原电脑上运行正常,没有错误提示。今天换到另外一台电脑上运行,又出现这个问题. 

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

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