# Getlastinputinfo



## dieter78 (10. November 2010)

Hallo,
ich probiere verzweifelt in meinem Script GETLastinputInfo einzubauen. Diese soll nach 3 Stunden inaktivität 2 Programme schließen (Word schließen etc..). Das schließen der Programme funktioniert auch schon.´Aber mir fehlt nach 5 Tagen des Ausprobieren irgendwie die Eingebung. Vielleicht kann mir jemand helfen.

Hier nun mein Script:

Option Explicit  
Dim FSO ,objShell, objWMIService, colprocesslist, objprocess
dim strfilename
dim wordAppl
dim anzahl
dim s1


' in Klammern die Zeit nach Stunde, Minute, Sekunden angeben
' die zur aktuellen Zeit hinzugefügt werden soll z.B. (0, 5, 22) oder, oder...

' s1 = time + TimeSerial(0, 0, 30) 
' do while time < s1
' loop







Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name='winword.exe'")
Set objShell = CreateObject("WScript.Shell")
on error resume next

For Each objProcess In colProcessList
	objShell.AppActivate objProcess.ProcessID
	Set WordAppl = GetObject(, "Word.Application") 

	Anzahl = WordAppl.Documents.Count

	while anzahl >0 
		strFileName = WordAppl.ActiveDocument.Name

		if strFileName = "ltxt1.rtf" Then 
' zurück zu patidok
			WordAppl.Application.run("back")
		else
' andere word-docs werden gespeichert und geschlossen
			WordAppl.ActiveDocument.save
			WordAppl.ActiveDocument.close
		end if
		anzahl = anzahl -1
	wend
' word wird beendet
	objprocess.terminate	
Next 


Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name='prowin32.exe'")
Set objShell = CreateObject("WScript.Shell")
on error resume next

For Each objProcess In colProcessList
wscript.sleep 30000
'	objShell.AppActivate objProcess.ProcessID
	objprocess.terminate	
Next 



Wäre klasse wenn mir noch einer helfen könnte.
Danke Dieter


----------

