你需要两个创建两个程序...
公司主营业务:成都网站制作、成都网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出黄南州免费做网站回馈大家。
首先在你的主程序的代码里面添加它们:
'main program
public sub restart()
shell app.path "\restart.exe " app.path "你的主程序的名字.exe",vbhide
end
end sub
用于重启的程序,叫做restart.exe
先创建标准exe工程
然后再在右边的工程资源管理器中右键点击form1
在弹出的菜单中选择移除form1
然后点击菜单条上面的添加模块
在新添加的module1里添加它们
'restart program
sub main
shell command
end sub
生成exe到你的主程序所在的目录
这时你便可以在主程序的任意地方添加一行restart来重新启动你的程序了
首先这个要看的子函数执行的情况了,比如你子函数要8秒才能执行完成,你1秒钟执行一次,到时会有好几个子函数在运行,肯定会影响程序运行的。你要调整时间才能让子函数不影响主程序;
再一个,如果不想影响主程序,你可以再建一个程序,专门用来执行子函数,然后让那个程序用定时器每秒执行一次子函数,这样就不会影响主程序;
详细查看了你的问题,完全不需要使用线程sleep的方法。
在这边,我要给你引入一个概念。就是Form窗体的两个方法。
Form.Show()和Form.ShowDialog()
第一个Show方法运行后,你的主程序还是会进行,你的代码还是会继续进行下去。此时,窗体还是弹出的。
第二个ShowDialog方法运行后,此时,弹出的一个窗体,你不将其关闭,那么,主程序就会一直等待这个窗体关闭后,才执行后面的代码。
所以,你只需要使用showdialog这个方法,即可达到你想要的结果。
那么,如何才能让弹出的窗体不改变呢?很简单
你可以找到窗体的formcloseing事件,在这个事件中,有一个参数:e
这个e有一个属性,就是e.handle,表示是否处理过这个事件了。
这个时候,如果你不想让窗体关闭,你可以写:
e.handle=true,那么表示已经处理过窗体关闭的事件了。
注:有些情况,可能是:e.cancel=true
Private Declare Function ExitWindowsEx Lib user (ByVal uFlags As Integer ByVal dwReserved As Integer) As IntegerConst EWX_FORCE As Short = Const EWX_LOGOFF As Short = Const EWX_REBOOT As Short = Const EWX_SHUTDOWN As Short = Dim retval As Integer 定义Esc按键Const VK_ESCAPE As Short = H BsPrivate Sub Command _Click(ByVal eventSender As System Object ByVal eventArgs As System EventArgs) Handles Command ClickIf Option Checked Then 注销当前用户retval = ExitWindowsEx(EWX_FORCE )ElseIf Option Checked Then 关闭计算机retval = ExitWindowsEx(EWX_SHUTDOWN )ElseIf Option Checked Then 重新启动retval = ExitWindowsEx(EWX_REBOOT )End IfEnd SubPrivate Sub Command _Click(ByVal eventSender As System Object ByVal eventArgs As System EventArgs) Handles Command ClickMe Close()End Sub 按Esc键时 结束应用程序Private Sub Form _KeyPress(ByVal eventSender As System Object ByVal eventArgs As System Windows Forms KeyPressEventArgs) Handles MyBase KeyPressDim KeyAscii As Short = Asc(eventArgs KeyChar)If KeyAscii = VK_ESCAPE ThenMe Close()End IfIf KeyAscii = TheneventArgs Handled = TrueEnd IfEnd Sub本实例通过使用ExitWindowEx()API函数来达到关机和重新启动的目的 在ExitWindowEx()函数中 参数uFlags指定要进行何种操作 在表 中列出了参数uFlags的值及其说明 表 参数uFlags的值及说明 lishixinzhi/Article/program/net/201311/13585