关闭

python进程杀除及子程序调用

标签: pythonwxpythondialogpathcommandfunction
1174人阅读 评论(0) 收藏 举报
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)
但这种形式,打包程序会出错。(不推荐使用这种方式)
  1. #process kill.py  
  2. #www.hbxcyz.cn  
  3. class Check_Version():  
  4.     def Check_Version_function(self):  
  5.        self.keyname = '''''Software//Microsoft//Windows//CurrentVersion 
  6.        //Uninstall//JoinAir'''  
  7.        self.key_uninstall = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE  
  8.                                                 ,self.keyname,0,win32con.KEY_ALL_ACCESS)  
  9.        self.filename_uninstall = win32api.RegQueryValueEx(self.key_uninstall,  
  10.                                                           'UninstallString')  
  11.        win32api.RegCloseKey(self.key_uninstall)  
  12.        self.Check_Compare()  
  13.        if self.flag ==1:  
  14.           self.MyDialog = Check_Dialog()  
  15.           if self.MyDialog.ShowModal()== wx.ID_OK:  
  16.               #运行卸载程序  
  17.               print self.filename_uninstall  
  18.               os.execl(self.filename_uninstall[0])  
  19.               wx.GetApp().ExitMainLoop()  
  20.           else:  
  21.               wx.GetApp().ExitMainLoop()  
  22.        else:  
  23.           self.MyDialog = Check_Dialog()  
  24.           if self.MyDialog.ShowModal()==wx.ID_OK:  
  25.              #运行卸载程序  
  26.              os.execl(self.filename_uninstall[0])  
  27.              wx.GetApp().ExitMainLoop()  
  28.           else:  
  29.              wx.GetApp().ExitMainLoop()    

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:14941次
    • 积分:155
    • 等级:
    • 排名:千里之外
    • 原创:0篇
    • 转载:17篇
    • 译文:0篇
    • 评论:0条
    文章存档