пятница, 16 октября 2009 г.

Scroll box


;*******************************************************************************
; AutoHotkey Version: 1.0.48.05
; Автор: harvik
; Имя скрипта: total.ahk
;*******************************************************************************
; Назначение скрипта
; Хранение файла с ftp аккаунтами в месте, назначенном пользователем. Подгрузка этого файла в момент работы с ftp
; и возврат на место после завершения работы с ftp
;*******************************************************************************



; ========== НАСТРОЙКИ ПОЛЬЗОВАТЕЛЯ ============================================================
;
Total_Path = C:\Program Files\Total Commander\ ; путь к каталогу, где Total Commander хранит файл с ftp
Total_Ftp = D:\Totback\ ; путь к каталогу, где вы будете хранить файл c ftp аккаунтами
Ft = wcx_ftp.ini ; Название файла с ftp
;
; ========== КОНЕЦ НАСТРОЕК ПОЛЬЗОВАТЕЛЯ =======================================================

; ========== Начало блока функций =======================================================

Sizes()
{
global

FileGetSize, size1, %Total_Path%%Ft%

FileGetSize, size2, %Total_Ftp%%Ft%

}



MoveTo() ; Перемещение файла с ftp аккаунтами в другой каталог
{
global Total_Path, Total_Ftp, Ft, size1, size2

Sizes()


IfExist, %Total_Path%%Ft%

{if size1 >= %size2% ;Сравненние размеров файлов с ftp в двух каталогах (папках)

FileMove, %Total_Path%%Ft%, %Total_Ftp%, 1

else FileDelete, %Total_Path%%Ft%

}

}


CopyFrom() ; Копирование файла с ftp аккаунтами в рабочий каталог Total Commander'а

{
global Total_Path, Total_Ftp, Ft, size1, size2

Sizes()

IfNotExist, %Total_Path%%Ft% OR size1 < %size2% ;Сравненние размеров файлов с ftp в двух каталогах (папках)

FileCopy, %Total_Ftp%%Ft%, %Total_Path%, 1

}

; ========== Конец блока функций =======================================================


#Persistent


Process, Priority,,L ; Установка низкого приоритета выполнения скрипта для снижения нагрузки на процессор.

IfNotExist, %Total_Ftp%
FileCreateDir, %Total_Ftp% ; Создание папки для хранения файла с ftp аккаунтами


TrayTip, Защита FTP акков, в Total Commander'е
Sleep, 5000
TrayTip


Begin:



MoveTo()
WinWait, ahk_class TTOTAL_CMD ;Ожидание загрузки Total Commander'а


IfWinExist, ahk_class TCONNECT

{

IfNotExist, %Total_Path%%Ft%

{
CopyFrom()
WinClose, ahk_class TCONNECT
WinWaitClose, ahk_class TCONNECT ; Пустое окошко "Соединение с FTP-сервером исчезает
IfWinExist, ahk_class TTOTAL_CMD
{
WinActivate, ahk_class TTOTAL_CMD ;
WinWaitActive, ahk_class TTOTAL_CMD
Send ^f ; Окошко "Соединение с FTP-сервером появляется уже со списком ваших FTP
Sleep, 5
}


}

}

else
{

MoveTo()
Goto, Begin

}

WinWaitClose, ahk_class TCONNECT

Goto, Begin