About wmi
patrol
sunp1028 at gmail.com
Sun Jul 13 21:21:41 EDT 2008
On 7月13日, 下午10时26分, Larry Bates <larry.ba... at websafe.com`> 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?
More information about the Python-list
mailing list