In need of help. Win32Ole objWMIService.Create?

X

x1

objWMIService.Create takes a parameter which is set to the pid of a
given process..



IE:

------start_process.vbs-----
strComputer =3D "."
Set objWMIService =3D GetObject("winmgmts:\\.\root\cimv2:Win32_Process")
Error =3D objWMIService.Create("cmd /c exit 10", null, null, pid)
Wscript.Echo pid
------/start_process.vbs-----



While trying to incorporate this within ruby, I ended up with
something of the like:

------start_process.rb---------
require 'win32ole'
pid =3D nil
objWMIService =3D WIN32OLE.connect("winmgmts:\\\\.\\root\\cimv2:Win32_Proce=
ss")
error =3D objWMIService.Create("notepad", nil, nil, pid)
puts pid # nil
------/start_process.rb---------

How can I set a variable equal to the pid value just as the vb script does?

I did find an object in ObjectSpace that has the "notepad" command and
displays the PID:

ObjectSpace.each_object(Array) { |x|
p x if x[0] =3D=3D "notepad"
}

["notepad", nil, nil, nil]
["notepad", -2147352572, -2147352572, 268]
=3D> 1363
irb(main):008:0>

Any ideas?
 
D

Dave Burt

Hi,

x1 asked:
objWMIService.Create takes a parameter which is set to the pid of a
given process..
...
How can I set a variable equal to the pid value just as the vb script
does?
...
I did find an object in ObjectSpace that has the "notepad" command and
displays the PID:

The _invoke method takes an array of values and an array of types. Your
interesting ObjectSpace array looks like the array of values you might get
back if you gave _invoke the dispid of the method, ["notepad",nil,nil,nil],
and the types. But you can't reflect on Create or other Win32_Process
methods to get that dispid or those types.

This is only a partial answer, but for some situations, the win32-utils
project and win32-process in particular may prove an adequate replacement
for this function. win32-process provides Process.create which wraps Win32's
CreateProcess() and returns a PID. It gives you fork (more or less), wait
and kill as well.

Cheers,
Dave
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,535
Members
45,007
Latest member
obedient dusk

Latest Threads

Top