Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Total Commander (Часть 8)

Модерирует : gyra, Maz

articlebot (20-03-2016 21:01): Обсуждение продолжается в части 9  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

Skif_off

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Реализован тот же принцип: запускается два окна просмоторщика.
Взять Autoit3.exe из архива и положить в папку ТС, кнопка

Код:
TOTALCMD#BAR#DATA  
"%COMMANDER_PATH%\AutoIt3.exe" "%COMMANDER_PATH%\files.au3"
%X%P%N %T%M
"%COMMANDER_PATH%\AutoIt3.exe"
Сравнить визуально пару картинок
%COMMANDER_PATH%\
-1

Скрипт скопировать, сохранить как files.au3 и положить в папку ТС:

Код:
#NoTrayIcon
 
Opt("WinWaitDelay", 100)
 
$aClientSize = WinGetClientSize("Program Manager")
$sCOMMANDER_EXE = EnvGet('COMMANDER_EXE')
 
$iPIDleft = Run('"' & $sCOMMANDER_EXE & '" /S=L "' & $CmdLine[1] & '"')
$hWndLeft = _Process2Win($iPIDleft)
WinMove($hWndLeft, '', 0, $aClientSize[1] / 5, $aClientSize[0] / 2, ($aClientSize[1] / 5) * 4)
 
$iPIDright = Run('"' & $sCOMMANDER_EXE & '" /S=L "' & $CmdLine[2] & '"')
$hWndRight = _Process2Win($iPIDright)
WinMove($hWndRight, '', $aClientSize[0] / 2, $aClientSize[1] / 5, $aClientSize[0] / 2, ($aClientSize[1] / 5) * 4)
 
AdlibRegister('__If_Ex', 500)
 
While ProcessExists($iPIDleft)
    Sleep(200)
WEnd
 
Func _Process2Win($Pid)
    If IsString($Pid) Then $Pid = ProcessExists($Pid)
    If $Pid = 0 Then Return -1
;    $List = WinList()
    $List = WinList('[Class:TLister]')
    For $i = 1 To $List[0][0]
        If $List[$i][0] <> '' And BitAND(WinGetState($List[$i][1]), 2) Then
            $wPid = WinGetProcess($List[$i][1])
            If $wPid = $Pid Then Return $List[$i][1]
        EndIf
    Next
    Return -1
EndFunc   ;==>_Process2Win
 
Func __If_Ex()
    If Not WinExists($hWndRight) Then WinClose($hWndLeft)
EndFunc

Будет открыто два окна просмоторщика и подогнаны их расположение/размеры: слева будет файл с левой панели, справа - с правой. Для удобства добавлена функция, которая будет проверять существование правого окна каждые 500 мс, как только оно будет закрыто - скрипт сам закроет левое.
Всё в теории: не знаток и пишу с телефона

Всего записей: 6487 | Зарегистр. 28-01-2008 | Отправлено: 23:07 13-01-2015 | Исправлено: Skif_off, 23:13 13-01-2015
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » Total Commander (Часть 8)
articlebot (20-03-2016 21:01): Обсуждение продолжается в части 9


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru