Poslao: 15 Feb 2014 01:34
|
offline
- Talični Tom
- Super građanin
- Onsite IT Support Engineer
- Pridružio: 08 Mar 2005
- Poruke: 1148
- Gde živiš: Niš
|
Zdravo drugari.
Ja nisam programer pa mi treba vasa pomoc. Dakle kao sto sam napisao u naslovu, potrebna mi je vbs skripta koja ce da gasi internet explorer i da ga pali da svaka 2 minuta. Da li bi mogao neko od vas da mi pomogne i napise mi skriptu?
Hvala unapred!
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 15 Feb 2014 19:35
|
offline
- dr_Bora
- Anti Malware Fighter
Rank 2
- Pridružio: 24 Jul 2007
- Poruke: 12280
- Gde živiš: Höganäs, SE
|
Svrha?
Imaj na umu da će IE11 (a možda i starije verzije) da nude "Restore session" ako se proces nasilno gasi (a ako se ne gasi nasilno, onda nije sigurno da će da se ugasi; npr. ako su otvorena bar dva taba onda neće).
Const nRestartAfter = 120 <- 2 min, možeš da menjaš po želji, bitno da je u sekundama.
+ RestartIE.vbsOption Explicit
Dim Shell, FSO, nInitialTimerState, nLastTimerState
Set Shell = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
Const nRestartAfter = 120
nInitialTimerState = Timer
nLastTimerState = nInitialTimerState
Sub Run(sFile, sAttr, nShowWindow, bWait)
On Error Resume Next
Shell.Run Chr(34) & sFile & Chr(34) & sAttr, nShowWindow, bWait
On Error Goto 0
End Sub
Sub CheckAndRestart
Dim nCurrentTimerState, nTimeDiff
WScript.Sleep(500)
nCurrentTimerState = Timer
If nCurrentTimerState < nLastTimerState Then nCurrentTimerState = nCurrentTimerState + 86400
nTimeDiff = nCurrentTimerState - nLastTimerState
If nTimeDiff < nRestartAfter Then Exit Sub
Run "taskkill", "/f /im iexplore.exe", 0, True
Run Shell.ExpandEnvironmentStrings("%ProgramFiles%") & "\Internet Explorer\iexplore.exe", "", 1, False
nLastTimerState = nCurrentTimerState
End Sub
Run "taskkill", "/f /im iexplore.exe", 0, True
Run Shell.ExpandEnvironmentStrings("%ProgramFiles%") & "\Internet Explorer\iexplore.exe", "", 1, False
Do
CheckAndRestart
Loop
|
|
|
|
|
Poslao: 26 Feb 2014 15:21
|
offline
- dr_Bora
- Anti Malware Fighter
Rank 2
- Pridružio: 24 Jul 2007
- Poruke: 12280
- Gde živiš: Höganäs, SE
|
Šta pokreće te procese i šta rade?
Hoćeš da se po gašenju iexplore.exe gasi i wscript.exe?
|
|
|
|
Poslao: 27 Feb 2014 06:43
|
offline
- Talični Tom
- Super građanin
- Onsite IT Support Engineer
- Pridružio: 08 Mar 2005
- Poruke: 1148
- Gde živiš: Niš
|
Pa da. Bilo bi super ako bi i to moglo.
Nemam pojma sta pokrece ovaj proces. Moguce nesto uz IE... Je ne sais pas.
|
|
|
|
Poslao: 27 Feb 2014 20:41
|
offline
- dr_Bora
- Anti Malware Fighter
Rank 2
- Pridružio: 24 Jul 2007
- Poruke: 12280
- Gde živiš: Höganäs, SE
|
OK, ovo treba da sačuvaš kao RestartIE.vbs da bi radilo.
Prosto, wscript hostuje i samu ovu skriptu pa se ne može tek tako kill-ovati svaki proces, već se mora odraditi filtriranje po komandnoj liniji (zato je bitno ime skripte).
Option Explicit
Dim Shell, FSO, nInitialTimerState, nLastTimerState, objWMIService, colProcesses, objProcess
Set Shell = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
Const nRestartAfter = 120
nInitialTimerState = Timer
nLastTimerState = nInitialTimerState
Sub Run(sFile, sAttr, nShowWindow, bWait)
On Error Resume Next
Shell.Run Chr(34) & sFile & Chr(34) & sAttr, nShowWindow, bWait
On Error Goto 0
End Sub
Sub CheckAndRestart
Dim nCurrentTimerState, nTimeDiff
WScript.Sleep(500)
nCurrentTimerState = Timer
If nCurrentTimerState < nLastTimerState Then nCurrentTimerState = nCurrentTimerState + 86400
nTimeDiff = nCurrentTimerState - nLastTimerState
If nTimeDiff < nRestartAfter Then Exit Sub
Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process")
For Each objProcess in colProcesses
If (LCase(objProcess.Name) = "iexplore.exe") Or (LCase(objProcess.Name) = "wscript.exe") And (InStr(1, objProcess.CommandLine, "restartie", vbTextCompare) = 0) Then
On Error Resume Next
objProcess.Terminate
On Error Goto 0
End If
Next
Run Shell.ExpandEnvironmentStrings("%ProgramFiles%") & "\Internet Explorer\iexplore.exe", "", 1, False
nLastTimerState = nCurrentTimerState
End Sub
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process")
For Each objProcess in colProcesses
If (LCase(objProcess.Name) = "iexplore.exe") Or (LCase(objProcess.Name) = "wscript.exe") And (InStr(1, objProcess.CommandLine, "restartie", vbTextCompare) = 0) Then
On Error Resume Next
objProcess.Terminate
On Error Goto 0
End If
Next
Run Shell.ExpandEnvironmentStrings("%ProgramFiles%") & "\Internet Explorer\iexplore.exe", "", 1, False
Do
CheckAndRestart
Loop
|
|
|
|
Poslao: 28 Feb 2014 07:22
|
offline
- Talični Tom
- Super građanin
- Onsite IT Support Engineer
- Pridružio: 08 Mar 2005
- Poruke: 1148
- Gde živiš: Niš
|
Da li mogu da promenim ime file-a koji se startuje tako da ne pokrece ie.exe nego neku drugu vbs skriptu? Da li nece stvoriti probleme ako pokrecem drugu vbs skriptu umesto ie.exe?
|
|
|
|
Poslao: 28 Feb 2014 11:25
|
offline
- dr_Bora
- Anti Malware Fighter
Rank 2
- Pridružio: 24 Jul 2007
- Poruke: 12280
- Gde živiš: Höganäs, SE
|
Pa, ne znam sta tacno pokusavas da uradis, ali ne vidim sta bi moglo da bude problem.
|
|
|
|
Poslao: 01 Mar 2014 09:48
|
offline
- Talični Tom
- Super građanin
- Onsite IT Support Engineer
- Pridružio: 08 Mar 2005
- Poruke: 1148
- Gde živiš: Niš
|
Hvala puno na pomoci! Dobio sam sve sto sam pozeleo.
O cemu se radi?
Koristim IE za prikazivanje nekog sadrzaja koji se konstantno menja. To su u glavnom neke slike. Imam skriptu da se IE refresh-uje na odredjeno vreme jer ako se ne refresh-uje desi se da zakuca i sliku ne prikazuje.
Posle nekog vremena primetio sam da ni refresh ne pomaze nego mora da se ugasi/upali da bi proradio. Zato mi je bila potrebna skripta koja ce to da radi. Skripta koja refresh-uje stranu je takodje vbs.
Verovatno bi cak mogla i da se doda u ovu skriptu, ali vise mi odgovara ovako jer kada poziva vbs skriptu za paljenje - ne trazi "Restore session".
Sta da kazem sem HVALA PUNO!!!! Dodjem pice!!!
|
|
|
|