QTTabBar | Переключение темы по времени
Цитата: Skride от 07.01.2024, 14:36Всем доброго времени суток!
В первую очередь поздравляю всех с наступившим Новым Годом, а сегодня и с Рождеством)
А во вторую прошу помощи:
Столкнулся с задачей смены темы вкладок по времени: Светлая | Темная, вместе с основной темой Windows.
Такого параметра в настройках самого QTTabBar не нашел. Придумал костыль:
Положить в рабочую директорию 2 варианта вкладок и менять их названия местами. При перезапуске проводника — вкладки обновляются на нужную тему.
Написал для этого скрипт VBS
[spoiler title="Скрипт"]Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder("C:\Program Files\QTTabBar\Ext") Set objFile1 = objFolder.Files("TabBar_Active.png") Set objFile2 = objFolder.Files("TabBar_Sleep.png") strTemp = objFile1.Name objFile1.Name = "TempName.png" objFile2.Name = "TabBar_Active.png" objFile1.Name = "TabBar_Sleep.png" Set objShell = CreateObject("WScript.Shell") objShell.Run "taskkill /F /IM explorer.exe", 0, True WScript.Sleep 1000 Dim objWMIService, colProcesses, objProcess Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Do objShell.Run "%windir%\explorer.exe", 0, True WScript.Sleep 1000 Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process where Name = 'explorer.exe'") Loop Until colProcesses.Count > 0[/spoiler]
И добавил его в планировщик заданий, в качестве триггера указав время.
Но почему-то он не хочет выполняться по времени.
Хотя если руками в планировщике нажать «Выполнить» — работает исправно.
Тема меняется, проводник перезагружается.Если оставить на автоматику, то в качестве результата запроса:
Оператор или администратор отклонили запрос. (0x800710E0)Подскажите, пожалуйста, как можно исправить подобное поведение и, может, сделать менее костыльное решение?
Windows 10 22H2 build 19045.3803
QTTabBar 1043
[spoiler title="XML из планировщика заданий"]
<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
<RegistrationInfo>
<Date>2023-11-20T13:51:39</Date>
<Author>SKRIDE-PC\Skride</Author>
<URI>\QTTabBar Theme</URI>
</RegistrationInfo>
<Triggers>
<CalendarTrigger>
<StartBoundary>2023-11-20T11:59:01</StartBoundary>
<Enabled>true</Enabled>
<ScheduleByDay>
<DaysInterval>1</DaysInterval>
</ScheduleByDay>
</CalendarTrigger>
<CalendarTrigger>
<StartBoundary>2023-11-19T18:59:01</StartBoundary>
<Enabled>true</Enabled>
<ScheduleByDay>
<DaysInterval>1</DaysInterval>
</ScheduleByDay>
</CalendarTrigger>
</Triggers>
<Principals>
<Principal id="Author">
<UserId>S-1-5-21-2023907244-3510166917-4000555767-1003</UserId>
<LogonType>InteractiveToken</LogonType>
<RunLevel>HighestAvailable</RunLevel>
</Principal>
</Principals>
<Settings>
<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>
<StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>
<AllowHardTerminate>true</AllowHardTerminate>
<StartWhenAvailable>true</StartWhenAvailable>
<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
<IdleSettings>
<StopOnIdleEnd>true</StopOnIdleEnd>
<RestartOnIdle>false</RestartOnIdle>
</IdleSettings>
<AllowStartOnDemand>true</AllowStartOnDemand>
<Enabled>true</Enabled>
<Hidden>false</Hidden>
<RunOnlyIfIdle>false</RunOnlyIfIdle>
<DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
<UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine>
<WakeToRun>false</WakeToRun>
<ExecutionTimeLimit>PT0S</ExecutionTimeLimit>
<Priority>7</Priority>
</Settings>
<Actions Context="Author">
<Exec>
<Command>wscript.exe</Command>
<Arguments>"E:\User Scripts\QTTabBar Theme.vbs"</Arguments>
</Exec>
</Actions>
</Task>
[/spoiler]
Всем доброго времени суток!
В первую очередь поздравляю всех с наступившим Новым Годом, а сегодня и с Рождеством)
А во вторую прошу помощи:
Столкнулся с задачей смены темы вкладок по времени: Светлая | Темная, вместе с основной темой Windows.
Такого параметра в настройках самого QTTabBar не нашел. Придумал костыль:
Положить в рабочую директорию 2 варианта вкладок и менять их названия местами. При перезапуске проводника — вкладки обновляются на нужную тему.
Написал для этого скрипт VBS
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("C:\Program Files\QTTabBar\Ext")
Set objFile1 = objFolder.Files("TabBar_Active.png" style="color: #25d39d !important")
Set objFile2 = objFolder.Files("TabBar_Sleep.png" style="color: #25d39d !important")
strTemp = objFile1.Name
objFile1.Name = "TempName.png" style="color: #25d39d !important"
objFile2.Name = "TabBar_Active.png" style="color: #25d39d !important"
objFile1.Name = "TabBar_Sleep.png" style="color: #25d39d !important"
Set objShell = CreateObject("WScript.Shell")
objShell.Run "taskkill /F /IM explorer.exe", 0, True
WScript.Sleep 1000
Dim objWMIService, colProcesses, objProcess
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Do
objShell.Run "%windir%\explorer.exe", 0, True
WScript.Sleep 1000
Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process where Name = 'explorer.exe'")
Loop Until colProcesses.Count > 0
И добавил его в планировщик заданий, в качестве триггера указав время.
Но почему-то он не хочет выполняться по времени.
Хотя если руками в планировщике нажать «Выполнить» — работает исправно.
Тема меняется, проводник перезагружается.
Если оставить на автоматику, то в качестве результата запроса:
Оператор или администратор отклонили запрос. (0x800710E0)
Подскажите, пожалуйста, как можно исправить подобное поведение и, может, сделать менее костыльное решение?
Windows 10 22H2 build 19045.3803
QTTabBar 1043
Скопировано<?xml version="1.0" encoding="UTF-16"?>Скопировано<Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">Скопировано<RegistrationInfo>Скопировано<Date>2023-11-20T13:51:39</Date>Скопировано<Author>SKRIDE-PC\Skride</Author>Скопировано<URI>\QTTabBar Theme</URI>Скопировано</RegistrationInfo>Скопировано<Triggers>Скопировано<CalendarTrigger>Скопировано<StartBoundary>2023-11-20T11:59:01</StartBoundary>Скопировано<Enabled>true</Enabled>Скопировано<ScheduleByDay>Скопировано<DaysInterval>1</DaysInterval>Скопировано</ScheduleByDay>Скопировано</CalendarTrigger>Скопировано<CalendarTrigger>Скопировано<StartBoundary>2023-11-19T18:59:01</StartBoundary>Скопировано<Enabled>true</Enabled>Скопировано<ScheduleByDay>Скопировано<DaysInterval>1</DaysInterval>Скопировано</ScheduleByDay>Скопировано</CalendarTrigger>Скопировано</Triggers>Скопировано<Principals>Скопировано<Principal id="Author">Скопировано<UserId>S-1-5-21-2023907244-3510166917-4000555767-1003</UserId>Скопировано<LogonType>InteractiveToken</LogonType>Скопировано<RunLevel>HighestAvailable</RunLevel>Скопировано</Principal>Скопировано</Principals>Скопировано<Settings>Скопировано<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>Скопировано<DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>Скопировано<StopIfGoingOnBatteries>false</StopIfGoingOnBatteries>Скопировано<AllowHardTerminate>true</AllowHardTerminate>Скопировано<StartWhenAvailable>true</StartWhenAvailable>Скопировано<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>Скопировано<IdleSettings>Скопировано<StopOnIdleEnd>true</StopOnIdleEnd>Скопировано<RestartOnIdle>false</RestartOnIdle>Скопировано</IdleSettings>Скопировано<AllowStartOnDemand>true</AllowStartOnDemand>Скопировано<Enabled>true</Enabled>Скопировано<Hidden>false</Hidden>Скопировано<RunOnlyIfIdle>false</RunOnlyIfIdle>Скопировано<DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>Скопировано<UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine>Скопировано<WakeToRun>false</WakeToRun>Скопировано<ExecutionTimeLimit>PT0S</ExecutionTimeLimit>Скопировано<Priority>7</Priority>Скопировано</Settings>Скопировано<Actions Context="Author">Скопировано<Exec>Скопировано<Command>wscript.exe</Command>Скопировано<Arguments>"E:\User Scripts\QTTabBar Theme.vbs"</Arguments>Скопировано</Exec>Скопировано</Actions>Скопировано</Task>