AlexGatti
31-07-2006, 14:07
Ho un file .vbs che deve elencare e chiudere una serie di processi ed è fatto così:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
penletter=Lcase(mid(wscript.scriptfullname,1,1))
'wscript.echo "driveletter=" +penletter
Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_Process where Name<>'pstart.exe'")
For Each objProcess in colProcesses
if Lcase(mid(objProcess.ExecutablePath,1,1))=penletter then
objProcess.Terminate
end if
Next
Il fatto è che objprocess.Terminate termina un processo senza chiedere nulla a nessuno, ovvero se il processo in questione è un Notepad con un file aperto non salvato, il notepad non chiede se si vuole salvare il file.
Quel che mi interessa fare non è terminare il processo, ma inviare una richiesta di chiusura al processo stesso e aspettare fin quando l'utente non ha "finito" ad esempio salvando il file.
Sapete per caso come fare?
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
penletter=Lcase(mid(wscript.scriptfullname,1,1))
'wscript.echo "driveletter=" +penletter
Set colProcesses = objWMIService.ExecQuery _
("Select * from Win32_Process where Name<>'pstart.exe'")
For Each objProcess in colProcesses
if Lcase(mid(objProcess.ExecutablePath,1,1))=penletter then
objProcess.Terminate
end if
Next
Il fatto è che objprocess.Terminate termina un processo senza chiedere nulla a nessuno, ovvero se il processo in questione è un Notepad con un file aperto non salvato, il notepad non chiede se si vuole salvare il file.
Quel che mi interessa fare non è terminare il processo, ma inviare una richiesta di chiusura al processo stesso e aspettare fin quando l'utente non ha "finito" ad esempio salvando il file.
Sapete per caso come fare?