def new (self, **kwargs):
"""This is the equivalent to the raw-WMI SpawnInstance\_
method. Note that there are relatively few uses for
this, certainly fewer than you might imagine. Most
classes which need to create a new *real* instance
of themselves, eg Win32_Process, offer a .Create
method. SpawnInstance\_ is generally reserved for
instances which are passed as parameters to such
`.Create` methods, a common example being the
`Win32_SecurityDescriptor`, passed to `Win32_Share.Create`
and other instances which need security.
The example here is `Win32_ProcessStartup`, which
controls the shown/hidden state etc. of a new
`Win32_Process` instance::
import win32con
import wmi
c = wmi.WMI ()
startup = c.Win32_ProcessStartup.new (ShowWindow=win32con.SW_SHOWMINIMIZED)
pid, retval = c.Win32_Process.Create (
CommandLine="notepad.exe",
ProcessStartupInformation=startup
)
.. warning::
previous versions of this docstring illustrated using this function
to create a new process. This is *not* a good example of its use;
it is better handled with something like the example above.
"""
try:
obj = _wmi_object (self.SpawnInstance_ (), self)
obj.set (**kwargs)
return obj
except pywintypes.com_error:
handle_com_error ()
#
# class _wmi_result
#
评论列表
文章目录