Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Автоматизация создания панели Quick Launch в Windows 7 (http://forum.oszone.net/showthread.php?t=190521)

Smarty 07-11-2010 19:05 1537043

Автоматизация создания панели Quick Launch в Windows 7
 
Господа программеры!
Такая вот задачка вышла...
Есть сомнение, что простым CMD\BAT-ником этот вопрос не решить.

Процесс создания вручную описан у нас здесь, автоматизации же процесса не видел нигде!
Возможно ли это средствами AutoIt в принципе?

Смысл этого такой - автоматическое создание панели при установке системы.

Спасибо.

Bodya.N 08-11-2010 23:06 1538069

Где-то примерно так
Код:

;#include <Process.au3>

Global $Title='Новая панель инструментов - Выбор папки'
      $String='%appdata%\Microsoft\Internet Explorer\Quick Launch'
;      $file='Windows6.1-KB979155-x86.msu' ;Файл должен находиться рядом со скриптом

;FileCopy ( @ScriptDir & '\' & $file, @WindowsDir & '\Temp',1 )
;_RunDos("start /wait wusa.exe %Windir%\Temp\Windows6.1-KB979155-x86.msu /quiet /norestart")
;FileDelete ( @WindowsDir & '\Temp' & '\' & $file )

MouseClick ( "Right", 0, 6000, 1);Вызываем контекстное меню Панели задач
Send("{DOWN}")
Send("{Right}")
Send("{UP}");Переходим к строчке "Создать панель инструментов"
Send("{Enter}")
WinWait ( $Title)
WinActivate($Title)
WinWaitActive ( $Title);Дожидаемся окна "Выбора папки"
ControlSend($Title, "", "", $String);Вводим путь к "Quick Launch"
ControlClick ( $Title, "", "[CLASS:Button; INSTANCE:1]" );Жмем "Выбрать"
MouseClick ( "Right", 0, 6000, 1);Вызываем контекстное меню Панели задач после создания "Quick Launch"
Send("{UP 2}");Переходим к строчке "закрепить панель задач"
Send("{Enter}");Снимаем галочку
ControlClick ( "", "Quick Launch" , "[CLASSNN:ToolbarWindow323]", "right" );Вызываем контекстное "Quick Launch"
Send("{DOWN 3}");Переходим к строчке "Показывать подписи"
Send("{Enter}");Снимаем галочку
ControlClick ( "", "Quick Launch" , "[CLASSNN:ToolbarWindow323]", "right" )
Send("{DOWN 4}");Переходим к строчке "Показывать заголовок"
Send("{Enter}");Снимаем галочку
ControlClick ( "", "Quick Launch" , "[CLASSNN:ToolbarWindow323]", "right" )
Send("{UP 2}");Переходим к строчке "закрепить панель задач"
Send("{Enter}");Закрепляем Панель задач


Smarty 09-11-2010 07:14 1538182

Bodya.N, ОК, панель создается.
Как теперь решить второй этап задачи?
Панель появляется около часов, как и должно быть.
Можно ее переместить к кнопке Пуск и убрать опции "Показывать подписи" и "Показывать заголовок"?

Bodya.N 09-11-2010 23:41 1538914

Smarty
Цитата:

Цитата Smarty
убрать опции "Показывать подписи" и "Показывать заголовок" »

в скрипте реализовано(обновил скрипт,добавил коментарии) у меня работает,главное чтобы панель еще небыла создана иначе действия скрипта непредсказуемы.Но так как (я думаю) скрипт будет отрабатывать при первом входе в систему
Цитата:

Цитата Smarty
автоматическое создание панели при установке системы. »

,то проблем возникнуть не должно(для уверенности можно добавить блокировку мыши и клавиатуры).
А вот
Цитата:

Цитата Smarty
переместить к кнопке Пуск »

"пока" под вопросом ,можно ли вообще это сделать средствами AutoIt .Будем думать...

Smarty 10-11-2010 06:51 1539007

Bodya.N, :ok:

Bodya.N 12-11-2010 21:54 1541295

Вообщем Smarty вот такое наколдовал
Код:

#NoTrayIcon

#include <Misc.au3>

Global $Title='Новая панель инструментов - Выбор папки'
      $String=' %appdata%\Microsoft\Internet Explorer\Quick Launch'

If @OSType="WIN32_NT" Then BlockInput(1)

;========================================================================================
;========================== Создание Панели =============================================
;========================================================================================

MouseClick("Right",0,6000,1)
Send("{DOWN}")
Send("{Right}")
Send("{UP}")
Send("{Enter}")
WinWait($Title)
WinActivate($Title)
WinWaitActive($Title)
ControlSend($Title,"","Edit1",$String)
ControlClick($Title,"","[CLASS:Button; INSTANCE:1]")
MouseClick("Right",0,6000,1)
Send("{UP 2}")
Send("{Enter}")

;========================================================================================
;========================== Операции по перемещению Панели ==============================
;========================================================================================

$coords=WinGetPos("","Выполнение приложений")
_MouseTrap($coords[0],$coords[1])
MouseDown("left")
MouseMove($coords[0],$coords[1]-42)
MouseUp("left")
MouseMove(0,0)
Sleep(500)
MouseClick("right")
Send("{DOWN 3}")
Send("{Enter}")
Sleep(500)
$coords2=ControlGetPos("","Выполнение приложений","[CLASS:MSTaskListWClass; INSTANCE:1]")
_MouseTrap($coords2[0]-10,$coords2[1]+@DesktopHeight-70)
Sleep(1000)
MouseDown("left")
Sleep(500)
MouseMove($coords2[0]-10,$coords2[1]+@DesktopHeight,60)
MouseUp("left")
MouseClick("left",$coords2[0]-10,$coords2[1]+@DesktopHeight-70,2)
MouseMove($coords2[0]-10,$coords2[1]+@DesktopHeight-10,60)
MouseDown("left")
MouseMove($coords2[0]+50,$coords2[1]+@DesktopHeight-50,60)
MouseMove($coords2[0]-10,$coords2[1]+@DesktopHeight-70)
MouseUp("left")
MouseDown("left")
MouseMove($coords2[0]-10,$coords2[1]+@DesktopHeight,60)
MouseMove($coords[0],$coords[1]-42)
MouseUp("left")
MouseDown("left")
MouseMove($coords[0],$coords[1])
MouseUp("left")

;========================================================================================
;========================== Настройка Панели ============================================
;========================================================================================

ControlClick("","Quick Launch","[CLASSNN:ToolbarWindow323]","right")
Send("{DOWN 3}")
Send("{Enter}")
ControlClick("","Quick Launch","[CLASSNN:ToolbarWindow323]","right")
Send("{DOWN 4}")
Send("{Enter}")
ControlClick ("","Quick Launch","[CLASSNN:ToolbarWindow323]","right")
Send("{UP 2}")
Send("{Enter}")

;========================================================================================

BlockInput(0)

Тестировал на WIN 7 (7600) при разных разрешениях экрана.

Smarty 12-11-2010 22:00 1541301

Bodya.N,
PHP код:

#include <Misc.au3> 

хде? :o

Bodya.N 12-11-2010 22:17 1541315

Вложений: 1
  • Misc.zip (8.50 KB, скачиваний: 56)
В папке "Include" каталога с установленной AutoIt (у меня 3.3.6.1).Если вдруг нету прикрепляю (для работы скрипта нужно чтобы лежала либо в "Include" либо рядом со скриптом)

Smarty 12-11-2010 22:30 1541325

Bodya.N, получилось что-то типа макроса, да?
Боюсь при установке системы этот скрипт не отработается...
Но, всё равно - спасибо за потраченное время!
Надо искать какой-то другой путь или бросить затею...

В конце концов, отрицательный результат - тоже результат! ;)

Bodya.N 12-11-2010 22:44 1541339

Цитата:

Цитата Smarty
при установке системы »

нет,а вот при первом входе можно.Только вот не очень красиво будут выглядеть все эти манипуляции...
Взаимно спасибо за понимание и поддержку в решении вопроса.Может когда-нибудь кому-нибудь сгодится.

Smarty 12-11-2010 22:51 1541346

Вопрос решен простейшим способом - нашелся твик реестра!

МИШАНЧИК 02-04-2011 01:48 1649203

Smarty,
Цитата:

Цитата Smarty
Вопрос решен простейшим способом - нашелся твик реестра! »

Поделитесь твиком пожалуйста.

sov44 16-02-2013 14:35 2091893

Цитата:

Цитата МИШАНЧИК
Поделитесь твиком пожалуйста. »

Актуально :)

rizz 22-07-2013 00:03 2188361

Цитата:

Цитата Smarty
Вопрос решен простейшим способом - нашелся твик реестра! »

Привет, весь инет облазил, ничего подобного не нашел, везде вручную,
или имелось ввиду дальнейшая настройка вида (рядом с кнопкой "Пуск") уже после отображения Quick Launch с помощью AutoIt?

Хочется, чтобы, Quick Launch автоматически настраивался, сканеры реестра ничего не находят, куда он пишет что Quick Launch добавлен вручную?
не в файлы же, полюбому в реестр

p.s. без Quick Launch и классического меню "Пуск" Windows 7 потеряла функционал, Quick Launch свёрнутый и занимает немного места при любом количестве значков, а в панель задач все значки не влезают, да и для активных программ места не остается

сторонние программы не вариант

vitbomba 27-07-2013 00:17 2191388

Цитата:

Цитата МИШАНЧИК
Поделитесь твиком пожалуйста. »

Тоже ищу такой твик.

Vlad_2009 30-01-2017 14:57 2707514

На дворе Win'10, а панель все также востребована. Ну очень неудобно без нее...
Есть ли на сегодняшний день решение проблемы?

Цитата:

Цитата Smarty
Вопрос решен простейшим способом - нашелся твик реестра! »

Написать такое и не выложить твик - это просто свинство. :(

Vlad_2009 30-01-2017 16:44 2707551

Короче, сам нашел решение проблемы. Поделюсь со всеми вами.
Quick Launch пропадает из-за стандартной языковой панели Windows. Стоит ее открепить или вообще скрыть и Quick Launch больше не пропадает.

Скрыть стандартную языковую панель в Windows 10:
Скрыть стандартную языковую панель: по панели задач правой кнопкой мыши - Параметры - Главная - Время и язык - Регион и язык - Дополнительные параметры даты и времени, региональные параметры - Язык - Дополнительные параметры - Параметры - Языковая панель -> выбрать "Скрыта".


Но совсем без языковой панели очень неудобно, но есть решение - использовать Punto Switcher - https://yandex.ru/soft/punto/win.
Автопереключение можно отключить и использовать программу только как языковую панель.
Если ранее были сделаны настройки стандартной языковой панели - они сохраняются.


Время: 17:16.

Время: 17:16.
© OSzone.net 2001-