Pull to refresh

buf2link — Обмен изображениями в локальной сети

Reading time2 min
Views830
Один из постов побудил рассказать о том, как я решил одну проблему используя AutoHotKey.

В локальной сети частенько бывает необходимость в ходе общения в чате показать собеседнику то, что происходит у тебя на экране.
Самый простой выход из положения — принтскрин, mspaint, Save As, а потом ещё передача по сети одним из доступных протоколов, после чего этот файл будет скачан и открыт.
Долго и муторно.

Когда впервые познакомился с возможностями AutoHotKey, стала формироваться мысль, что задачу передачи картинки можно реализовать удобнее.

И вот как это было сделано:
На сервере локальной сети с апачем был организован аккаунт, а на AutoHotKey написан скрипт.
;-------------------------------------------------------------------------------
; buf2link
;-------------------------------------------------------------------------------
; Настройки:
ServIP=192.168.1.1
FTPlogin=flogin
FTPpass=fpass
ftpdir=/var/www/buf/
HTTPlink=http://%ServIP%/buf/
;-------------------------------------------------------------------------------
;получим имя файла
NameFileTime = %A_Now%.jpg
;сохраним буфер обмена в файл (юзаем в текущей папке i_view32.exe)
RunWait, i_view32.exe /clippaste /convert=%NameFileTime%

;-------------------------------------------------------------------------------
;закачка файла на сервер

FTPCommandFile = %A_ScriptDir%\FTPCommands.txt

; сформируем команды для ftp
FileAppend,
(
open %ServIP%
%FTPlogin%
%FTPpass%
binary
cd %ftpdir%
put %NameFileTime%
quit
), %FTPCommandFile%

RunWait %comspec% /c ftp.exe -s:"%FTPCommandFile%"
FileDelete %FTPCommandFile%
;-------------------------------------------------------------------------------
clipboard = %HTTPlink%%NameFileTime%
;-------------------------------------------------------------------------------
FileDelete %NameFileTime%
;-------------------------------------------------------------------------------
MsgBox, 1,, Ссылка на изображение помещена в буфер обмена`n`n Просмотреть результат?
IfMsgBox Ok
Run %clipboard%
else
return


Скрипт был скомпилирован, уложен в папку buf2link вместе с вьювером IrfanView (i_view32.exe) и упакован в само распаковывающийся архив для распространения среди пользователей.

Как пользоваться:
1 после того, как в буфере обмена у вас появилось нужное изображение (например, после нажатия Alt+PrtScr)
2 запускаете buf2link.exe
(например, кликнув по кнопке в панели быстрого запуска)
3 buf2link сохранит ваше изображение в файл, закачает его на ftp сервер и сохранит в буфер обмена ссылку, которую уже можно сообщить собеседнику (о чем будет выдано сообщение)

Теперь для передачи изображения по сети, достаточно нажать одну кнопку и два раза сделать клик мышью! :)
Tags:
Hubs:
Total votes 8: ↑5 and ↓3+2
Comments4

Articles