1. 在python调用子程序进程时,有几种方式:
os.system(command)
os..execl(path)(查看帮助文档,里面有一系列的函数族,关于调用子程序的)
第一种情况下,调用子程序,父进程不会消失掉,当子进程结束时,会返回到父进程继续运行。
第二种情况下,调用子程序,父进程立刻结束,当子进程结束时整个进程结束。
当能还有其他的方式调用子程序:
Win32api.ShellExecute(hwnd,op,file,parames,dir,bshow)
例:win32api.shellExecute(0,”open”,path,””,””,)
建议调用python自带的内建模型,尽量做到系统无关性。
2. 在wxpython中如何结束主进程
在运行wxpython程序时,有时要非正常的结束程序,但实际上程序并没有结束。下面有两种退出程序的方式,以及一种非正常的退出方式:
wx.GetApp().ExitMainLoop()
wx.Exit()
如果需要中途退出程序的话可以使用上面两种方式(建议第一中)
还有一种非正常的退出方式
exit(1)
但这种形式,打包程序会出错。(不推荐使用这种方式)
os.system(command)
os..execl(path)(查看帮助文档,里面有一系列的函数族,关于调用子程序的)
第一种情况下,调用子程序,父进程不会消失掉,当子进程结束时,会返回到父进程继续运行。
第二种情况下,调用子程序,父进程立刻结束,当子进程结束时整个进程结束。
当能还有其他的方式调用子程序:
Win32api.ShellExecute(hwnd,op,file,parames,dir,bshow)
例:win32api.shellExecute(0,”open”,path,””,””,)
建议调用python自带的内建模型,尽量做到系统无关性。
2. 在wxpython中如何结束主进程
在运行wxpython程序时,有时要非正常的结束程序,但实际上程序并没有结束。下面有两种退出程序的方式,以及一种非正常的退出方式:
wx.GetApp().ExitMainLoop()
wx.Exit()
如果需要中途退出程序的话可以使用上面两种方式(建议第一中)
还有一种非正常的退出方式
exit(1)
但这种形式,打包程序会出错。(不推荐使用这种方式)
- #process kill.py
- #www.hbxcyz.cn
- class Check_Version():
- def Check_Version_function(self):
- self.keyname = '''''Software//Microsoft//Windows//CurrentVersion
- //Uninstall//JoinAir'''
- self.key_uninstall = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE
- ,self.keyname,0,win32con.KEY_ALL_ACCESS)
- self.filename_uninstall = win32api.RegQueryValueEx(self.key_uninstall,
- 'UninstallString')
- win32api.RegCloseKey(self.key_uninstall)
- self.Check_Compare()
- if self.flag ==1:
- self.MyDialog = Check_Dialog()
- if self.MyDialog.ShowModal()== wx.ID_OK:
- #运行卸载程序
- print self.filename_uninstall
- os.execl(self.filename_uninstall[0])
- wx.GetApp().ExitMainLoop()
- else:
- wx.GetApp().ExitMainLoop()
- else:
- self.MyDialog = Check_Dialog()
- if self.MyDialog.ShowModal()==wx.ID_OK:
- #运行卸载程序
- os.execl(self.filename_uninstall[0])
- wx.GetApp().ExitMainLoop()
- else:
- wx.GetApp().ExitMainLoop()