View Single Post
  #8   Report Post  
Posted to microsoft.public.excel.programming
urkec urkec is offline
external usenet poster
 
Posts: 131
Default Cannot kill a WINWORD.EXE instanciation - Sorry for reposting

"Patrick Penet" wrote:

If I want to use early binding, I add reference to "Microsoft WMI Scripting
V2.1 Library".


Yes, I understand your code. I am not used to program Microsoft WMI Scripting
Library because I am very much afraid it wont work with previous versions of
Windows.

Where did you put the code?
This code is supposed to kill all
WINWORD.EXE processes, does it work if you put it in a standard module and
run the sub manually with a WINWORD.EXE process running?


I tried the code in many different places, including a standard module
but it was with the 'embedded' parameter.

Your code below is perfectly swell and works fine with a normal
Word session, but not with the embedded one.

Sub WMITest()
Dim objSWbem As SWbemServices
Dim colProcesses As SWbemObjectSet
Dim objProcess As SWbemObject


Set objSWbem = GetObject("winmgmts:root\cimv2")
Set colProcesses = objSWbem.ExecQuery _
("Select * From Win32_Process " & _
"Where Name='WINWORD.EXE'")
For Each objProcess In colProcesses
Debug.Print objProcess.CommandLine
Debug.Print objProcess.ExecutablePath
objProcess.Terminate
Next
End Sub


Maybe you could also try using Shell function with Taskkill command. I am
not very good with Command Prompt, but I think that would be the simplest way
to kill a process.
--
urkec


By the way, I thank you very much for these pieces of code that
I will keep in pocket for future needs.

Regards.
Patrick





I used WMI with Windows 2000 and WIndows XP, mostly to get system
information I couldn't get some other way (Documentation says WMI is
available for Windows 2000, Windows XP, and Windows Me). Other than
compatibility, problems could be that user needs administrator privileges tor
run it and that some classes are only available with XP, etc.
I tested the code to terminate WINWORD.EXE a couple of times and it seemed
to work with with processes created by embedded objects. Sorry it didn't work
for you, I hope you find some other solution.


--
urkec