patrol wrote: > On 7月13日, 下午10时26分, Larry Bates <[EMAIL PROTECTED]> wrote: >> patrol wrote: >>> I want to prevent some process from running. The code is in the >>> following. I encounter some unexpected troubles. >>> Probelm1: This program cannot terminate "scrcons.exe" and >>> "FNPLicensingService.exe",which are system processes. >>> Problem2:After a while, this program will abort by error >>> File "C:\Python25\lib\wmi.py", line 397, in __call__ >>> handle_com_error (error_info) >>> File "C:\Python25\lib\wmi.py", line 190, in handle_com_error raise >>> x_wmi, "\n".join (exception_string) >>> UnicodeDecodeError: 'ascii' codec can't decode byte 0xb7 in position >>> 14: ordinal not in range(128) >>> ---------------------------------------------------- >>> code----------------------------------------------------------------------------------- >>> # -*- coding:utf-8 -*- >>> import pythoncom >>> import wmi >>> import threading >>> import time >>> from xml.dom.minidom import parse, parseString >>> class Info (threading.Thread): >>> def __init__ (self): >>> threading.Thread.__init__ (self) >>> def run (self): >>> print 'In Another Thread...' >>> pythoncom.CoInitialize () >>> dom1 = parse('processTerminateList.xml') >>> config_element = >>> dom1.getElementsByTagName("processTerminateList") >>> [0] >>> servers = config_element.getElementsByTagName("processName") >>> try: >>> c = wmi.WMI () >>> for process in c.Win32_Process (): >>> for server in servers: >>> if process.name == >>> getText(server.childNodes): >>> process.Terminate() >>> print process.name >>> process_watcher = c.Win32_Process.watch_for("creation") >>> while True: >>> new_process = process_watcher() >>> name = new_process.Caption >>> print name >>> for server in servers: >>> if name == getText(server.childNodes): >>> new_process.Terminate() >>> finally: >>> pythoncom.CoUninitialize () >>> def getText(nodelist): >>> rc = "" >>> for node in nodelist: >>> if node.nodeType == node.TEXT_NODE: >>> rc = rc + node.data >>> return rc >>> if __name__ == '__main__': >>> Info().start() >>> ------------------------------------------------------ >>> processTerminateList.xml------------------------------------------------------------------------ >>> <?xml version="1.0" encoding="utf-8"?> >>> <processTerminateList> >>> <processName>scrcons.exe</processName> >>> <processName>TXPlatform.exe</processName> >>> <processName>mdm.exe</processName> >>> <processName>FNPLicensingService.exe</processName> >>> <processName>notepad.exe</processName> >>> <processName>uedit32.exe</processName> >>> </processTerminateList> >> You should probably post this to comp.python.windows. Tim Golden (author of >> WMI >> interface) monitors that list religously (thanks Tim). >> >> -Larry- 隐藏被引用文字 - >> >> - 显示引用的文字 - > > I cannot find comp.python.windows.What's the URL?
http://news.gmane.org/gmane.comp.python.windows/cutoff=7565 -Larry -- http://mail.python.org/mailman/listinfo/python-list