Войти

Показать полную графическую версию : [решено] Как настроить клавиши быстрого вызова с помощью CMD/BAT


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

Iska
04-08-2012, 04:07
Если коротко, без каких-либо проверок — то так:
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
Спасибо большое, всё работает, хотелось ещё спросить что именно определяет горячие клавиши в Windows 7: это запись в реестре или изменения в каком-то файле и можно ли назначить их с помощью BAT ?

Iska
05-08-2012, 14:08
что именно определяет горячие клавиши в Windows 7: это запись в реестре или изменения в каком-то файле »
Вопрос задан не вполне корректно.

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

Вообще же, по определению горячих клавиш в ярлыках — [MS-SHLLINK].pdf - Поиск в Google (http://www.google.ru/search?q=%5BMS-SHLLINK%5D.pdf) (на сайте Microsoft он, в виде отдельного файла, более недоступен), раздел 2.1.3, HotKeyFlags.

и можно ли назначить их с помощью BAT ? »
Если не рассматривать внешние утилиты — то нет.

Valek271183
05-08-2012, 14:09
Ясно, спасибо

Iska
05-08-2012, 14:10
Valek271183, пожалуйста, посмотрите мой предыдущий пост ещё раз — я его немного поправил.




© OSzone.net 2001-2012