Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Lexys3230
0 / 0 / 0
Регистрация: 01.11.2016
Сообщений: 7
1

Печать выделенного в проводнике файла горячей клавишей

26.04.2019, 14:02. Просмотров 306. Ответов 9

Цель:
Повесить на клавишу "Num+" скрипт который отправляет выделенный в проводнике файл на печать на принтер по умолчанию (желательно в свернутом виде без потери фокуса из проводника).

Что сделано:
Замучен Гугл и Яндекс, но ни на йоту не приблизившие меня к цели.

Что требуется:
Указать на чтиво по этой теме, либо привести код батника/скрипта

P.S.Честно говоря я даже не уверен что создал тему в соответствующем разделе
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2019, 14:02
Ответы с готовыми решениями:

Как убить процесс горячей клавишей
Здравствуйте! Ребят, помогите в таком вопросе: Есть программа, которая "скрыта", но безо всякого...

Как повторить создание только-что созданного компонента(горячей клавишей?
Иногда требуется создать подряд 10-20 ед. одного компонента(с разными именами конечно - с теми что...

Как быстро сделать масштаб 100% или 75% или 50% горячей клавишей
а то мышью трудно и долго попасть в 100% а если еще щелкать чтобы открывать это вообще долго

Получение полного пути выделенного объекта в проводнике
Всем привет. Каким образом можно получить полный путь к файлу или папке?? Кстати, если может...

Печать выделенного диапазона DGV
Добрый день, подскажите как в таблице datagrid напечатать выделенный диапазон, не через отчет.

9
FlasherX
1020 / 515 / 186
Регистрация: 06.06.2017
Сообщений: 1,915
26.04.2019, 14:11 2
Это на AutoHotkey делается.
Либо хоткей в нормальных ФМ.
1
Lexys3230
0 / 0 / 0
Регистрация: 01.11.2016
Сообщений: 7
26.04.2019, 15:24  [ТС] 3
FlasherX, Вы не поможете? Я не вижу параметра "выделенный файл". согласно документации на http://www.script-coding.com/AutoHotkey/Run.html есть Target и он должен быть обозначен, верно?

Добавлено через 10 минут
Что-то вроде:
NumpadAdd:: Run print %selctedFiles%
Только АНТ ругается что не привязана программа к print, но файлы могут быть разного расширения *.pdf, *.doc, *.jpg
как реализовать?
0
FlasherX
1020 / 515 / 186
Регистрация: 06.06.2017
Сообщений: 1,915
26.04.2019, 16:23 4
Код
#NoEnv
#NoTrayIcon
ListLines, Off
SetBatchLines,-1
Shell := ComObjCreate("Shell.Application")

NumpadAdd::
WinGet, hwnd,, A
For Window in Shell.Windows {
   If Window.hwnd = hwnd {
      For F in Window.Document.SelectedItems
         Shell.ShellExecute(F.Path,,, "print", 0)
      Break
   }
}
Return
Вместо 12-13 строк можно скопом, но без скрытия:
Код
      Window.Document.SelectedItems.InvokeVerbEx("print")
Цитата Сообщение от Lexys3230 Посмотреть сообщение
Только АНТ ругается что не привязана программа к print
Так привяжите. Иначе никак. Должен быть движок печати. Для PDF лучше брать Sumatra или PDF-XChange Viewer. Hamster PDF reader хоть и быстрый, но не помню, чтобы печатал. Для картинок тоже хватает вариантов (Imagine/IrfanView/etc).
0
26.04.2019, 16:23
Lexys3230
0 / 0 / 0
Регистрация: 01.11.2016
Сообщений: 7
26.04.2019, 16:27  [ТС] 5
Есть решение! Нашлось тут:
https://autohotkey.com/board/topic/6...-2#entry383065
@netwizard модифицировал и получилось следующее:
Кликните здесь для просмотра всего текста
Код
numpadadd::

path := % Explorer_GetSelection()

Run, print %path%

return



Explorer_GetSelection(hwnd="") {

hwnd := hwnd ? hwnd : WinExist("A")

WinGetClass class, ahk_id %hwnd%

if (class="CabinetWClass" or class="ExploreWClass" or class="Progman")

for window in ComObjCreate("Shell.Application").Windows

if (window.hwnd==hwnd)

sel := window.Document.SelectedItems

for item in sel

ToReturn .= item.path "`n"

return Trim(ToReturn,"`n")

}

Всё отлично работает, и в локальных папках и в сетевых. Печатает любые типы файлов через сопоставленное приложение
0
FlasherX
1020 / 515 / 186
Регистрация: 06.06.2017
Сообщений: 1,915
26.04.2019, 16:30 6
Lexys3230, неуклюжий вариант. Берите мой.
0
Lexys3230
0 / 0 / 0
Регистрация: 01.11.2016
Сообщений: 7
26.04.2019, 16:33  [ТС] 7
Ваш код тоже работает, результат идентичен, спасибо за помощь!
0
FlasherX
1020 / 515 / 186
Регистрация: 06.06.2017
Сообщений: 1,915
26.04.2019, 16:42 8
Lexys3230, выделите несколько файлов с моим вариантом и с вашим. Увидите разницу. В т.ч. в части скрытия.
Не говоря уже про бессмысленность проверять классы раб. стола.
0
Lexys3230
0 / 0 / 0
Регистрация: 01.11.2016
Сообщений: 7
29.04.2019, 10:09  [ТС] 9
Цитата Сообщение от FlasherX Посмотреть сообщение
Lexys3230, выделите несколько файлов с моим вариантом и с вашим
Действительно моя версия выпадает с ошибкой, ваша работает, спасибо большое!
В части скрытия разницы не заметил.
0
FlasherX
1020 / 515 / 186
Регистрация: 06.06.2017
Сообщений: 1,915
29.04.2019, 11:39 10
Цитата Сообщение от Lexys3230 Посмотреть сообщение
Действительно моя версия выпадает с ошибкой
Потому что список формируется с переводом строки, который Run, что логично, отвергает. Ещё в коде фигурных скобок не хватает в ряде мест.
Цитата Сообщение от Lexys3230 Посмотреть сообщение
В части скрытия разницы не заметил.
Если, к примеру, txt привязаны к блокноту (как по умолчанию), а pdf — к Abode Acrobat, то заметите. Если бы не проблема со списком, для скрытия в вашем варианте нужно было бы писать:
Run print %path%,, Hide UseErrorLevel
0
29.04.2019, 11:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.04.2019, 11:39

Отправка на печать выделенного фрагмента путём нажатия горячих клавиш в одной ячейке
Добрый день, помогите в решении задачи. Необходимо создать макрос или подобрать формулу, по...

Кнопку ОК связать с клавишей [Enter], кнопку Отмена – с клавишей [Escape]
Подскажите, пожалуйста как делается: Кнопку ОК связать с клавишей , кнопку Отмена – с клавишей ...

Копирование выделенного текста в HTML странице ссылкой и id значением первого выделенного абзаца
В общем так: На странице имеется длинный текст со множеством абзацами заключённые в <p> теги,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru