以文本方式查看主题

-  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=111306)

--  作者:裴保民
--  发布时间:2017/12/19 21:52:00
--  关于发布问题
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:录像39.rar

取消按钮的代码如下:
Dim Result As DialogResult
Dim ps As  System.Diagnostics.Process() = System.Diagnostics.Process.GetProcessesByName("foxtable")
Result = Messagebox.Show("退出系统吗?","提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.No Then \'如果用户选择否
    e.Cancel = True \'取消关闭项目
Else

For Each p As System.Diagnostics.Process In ps
    p.kill
Next
End If
为什么发布后,启动程序时如果单击取消按钮后不能退出程序,发布之前可以
[此贴子已经被作者于2017/12/19 21:59:28编辑过]

--  作者:有点蓝
--  发布时间:2017/12/19 22:32:00
--  
发布时是不是改了主程序的名称?

Dim ps As  System.Diagnostics.Process() = System.Diagnostics.Process.GetProcessesByName("主程序的名称")

另外一般关闭出错都是由于代码使用不当导致的,建议注释项目事件代码进行测试。先不要急着kill

--  作者:裴保民
--  发布时间:2017/12/19 22:40:00
--  
是改过主程序名称

图片点击可在新窗口打开查看此主题相关图片如下:456666.jpg
图片点击可在新窗口打开查看

怎么设置呢

--  作者:有点甜
--  发布时间:2017/12/20 8:59:00
--  

那就改成这样

 

Dim ps As  System.Diagnostics.Process() = System.Diagnostics.Process.GetProcessesByName("机具进销存管理系统")


--  作者:裴保民
--  发布时间:2017/12/20 9:03:00
--  
昨天改过经过测试,在发布前无法关闭程序
--  作者:有点甜
--  发布时间:2017/12/20 9:11:00
--  
以下是引用裴保民在2017/12/20 9:03:00的发言:
昨天改过经过测试,在发布前无法关闭程序

 

发布前,代码这样写 Dim ps As  System.Diagnostics.Process() = System.Diagnostics.Process.GetProcessesByName("foxtable")

 


--  作者:裴保民
--  发布时间:2017/12/20 9:14:00
--  
你的意思是每次发布前都得作为一个更改吗?能不能满足两个条件其中一个就执行退出程序代码呢?
--  作者:有点甜
--  发布时间:2017/12/20 9:22:00
--  
Dim Result As DialogResult
Result = Messagebox.Show("退出系统吗?","提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.No Then \'如果用户选择否
    e.Cancel = True \'取消关闭项目
Else
   
    Dim ps As  System.Diagnostics.Process() = System.Diagnostics.Process.GetProcessesByName("foxtable")
    For Each p As System.Diagnostics.Process In ps
        p.kill
    Next
    ps = System.Diagnostics.Process.GetProcessesByName("机具进销存管理系统")
    For Each p As System.Diagnostics.Process In ps
        p.kill
    Next
End If