Datuve :: Forums :: Arhīvs :: Kā pareizi aizvērt uTorrent ar VBScript?

Datuve

Mana Datuve

Reģistrācija | Noteikumi | Paroles atjaunošana



Forums

Ieskaties


Raksti

Lietotāji online

Lietotāji online: 91

Reģistrētie lietotāji online: 0

Viesi online: 91

Datuve.lv video
Top.LV

Kā pareizi aizvērt uTorrent ar VBScript?

Ievietoja: dzintarz @ 2010.04.10 14:58  

Nepieciešams "pareizi" aizvērt uTorrentu ar skripta palīdzību. Ja vienkārši nokillo procesu, nākošo reizi palaižot uTorrentu visi torrenti tiek čekoti un sarakstā parādās iepriekš izdzēstie torrenti (nu kā pēc uTorrent nokāršanās).

Varbūt ir kādi uTorrenti slēdži (līdzīgi kā /minimize, /nosplash utt ), ar kuriem to varētu izdarīt?

Kādi citi ieteikumi?

Šobrīd lietoju šādu skriptu, bet, kā jau minēju, tas "nesmuki" aizver uTorrentu:

Option Explicit
Dim objWMIService, objProcess, colProcess
Dim strComputer, strProcessKill
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
strProcessKill = "'uTorrent.exe'"
Set colProcess = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = " & strProcessKill )
For Each objProcess in colProcess
objProcess.Terminate()
Next

Komentāri:

#1 HIGH-Zen @ 2010.04.10 19:49

Ar VBSscript var mudīties šādi:
Set WshShell = CreateObject("WScript.Shell")
WshShell.AppActivate "notepad"
objShell.SendKeys "%{F4}"
======
http://www.techsupportforum.com/pro/programming/373377-using-vbscript-…

#2 usver @ 2010.04.10 21:08

atrast īsto logu
nosūtīt logam WM_CLOSE

aptuveni šādi:

PostMessage(FindWindow(Nil, pchar('atrodi_loga_nosaukumu')), WM_Quit, 0,  0)

tas ir visdabīgākais ceļš.

#3 dzintarz @ 2010.04.10 21:38

Pagaidām izdodas normāli aizvērt tikai ar šādu skriptu:

Set objShell = CreateObject("WScript.Shell")
Success = objShell.AppActivate("µTorrent 2.0")
if Success then
objShell.SendKeys "%{F4}"
end if

Bet problēma tāda, ka šis skripts nenostrādā, ja uTorrents ir minimizēts uz system tray...

Papildināts:

Šādi strādā:

Sub Run(ByVal sFile)
   Dim shell
   Set shell = CreateObject("WScript.Shell")
   shell.Run Chr(34) & sFile & Chr(34), 1, false
   Set shell = Nothing
End Sub

Run "C:\Program Files\uTorrent\uTorrent.exe"

WScript.Sleep 2000

Set objShell = CreateObject("WScript.Shell")
Success = objShell.AppActivate("µTorrent 2.0")
if Success then
objShell.SendKeys "%{F4}"
end if

Ja uTorrents jau ir atvērts un to mēģina atvērt  vēl vienu reizi, tiek maximizēta jau iepriekš palaistā instance. Tādā veidā izdodas atmodināt no system try.  Nav jau diez ko smalks variants bet strādā. :D