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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Как настроить клавиши быстрого вызова с помощью CMD/BAT (http://forum.oszone.net/showthread.php?t=239937)

Valek271183 03-08-2012 22:03 1964367

Как настроить клавиши быстрого вызова с помощью CMD/BAT
 
Можно ли с помощью CMD/BAT задать клавиши для быстрого вызова какой либо программы, точнее хотелось бы задать горячие клавиши на WORD - Ctrl+Shift+W и EXCEL 2010 - Ctrl+Shift+E, и ещё пару прог, как это можно автоматизировать с помощью BAT или в крайнем случае VBS?

Iska 04-08-2012 04:07 1964504

Если коротко, без каких-либо проверок — то так:
читать дальше »
Код:

Option Explicit

Dim objShell
Dim objFolder
Dim objFolderItem

With WScript.CreateObject("Shell.Application")
        With .NameSpace("shell:Common Programs").ParseName("Microsoft Office").GetFolder
                With .ParseName("Microsoft Office Word 2003.lnk")
                        If .IsLink Then
                                With WScript.CreateObject("WScript.Shell").CreateShortcut(.Path)
                                        .Hotkey = "Ctrl+Shift+W"
                                       
                                        .Save
                                End With
                        End If
                End With
               
                With .ParseName("Microsoft Office Excel 2003.lnk")
                        If .IsLink Then
                                With WScript.CreateObject("WScript.Shell").CreateShortcut(.Path)
                                        .Hotkey = "Ctrl+Shift+E"
                                       
                                        .Save
                                End With
                        End If
                End With
        End With
End With

WScript.Quit 0


Пример рассчитан на Office 2003. Вы же, под свою версию, поправьте в скрипте название папки в меню:
Код:

        With .NameSpace("shell:Common Programs").ParseName("Microsoft Office").GetFolder
если оно отличается, и поправьте названия ярлыков на свои:
Код:


                With .ParseName("Microsoft Office Word 2003.lnk")

                With .ParseName("Microsoft Office Excel 2003.lnk")


Valek271183 05-08-2012 13:16 1964975

Спасибо большое, всё работает, хотелось ещё спросить что именно определяет горячие клавиши в Windows 7: это запись в реестре или изменения в каком-то файле и можно ли назначить их с помощью BAT ?

Iska 05-08-2012 14:08 1965016

Цитата:

Цитата Valek271183
что именно определяет горячие клавиши в Windows 7: это запись в реестре или изменения в каком-то файле »

Вопрос задан не вполне корректно.

Если подразумевалось: «С помощью какого механизма горячие клавиши с ярлыков, находящихся на Рабочем столе и в Главном меню, регистрируются как глобальные?» — то не скажу. Возможно, более опытные коллеги Вам подскажут.

Вообще же, по определению горячих клавиш в ярлыках — [MS-SHLLINK].pdf - Поиск в Google (на сайте Microsoft он, в виде отдельного файла, более недоступен), раздел 2.1.3, HotKeyFlags.

Цитата:

Цитата Valek271183
и можно ли назначить их с помощью BAT ? »

Если не рассматривать внешние утилиты — то нет.

Valek271183 05-08-2012 14:09 1965019

Ясно, спасибо

Iska 05-08-2012 14:10 1965021

Valek271183, пожалуйста, посмотрите мой предыдущий пост ещё раз — я его немного поправил.


Время: 13:03.

Время: 13:03.
© OSzone.net 2001-