TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

addhaloka писал(а):если я конечно правильно понял, о чём речь.
Нет, неправильно. >>
Flasher писал(а):С командой cd это не требуется.
+
Skif_off писал(а):Plugin path received via WM_COPYDATA must end with \ if it's not a file (32/64)
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

Flasher писал(а):В NTFS-streams потоки читаются как папки.
В NTFS-streams файлы читаются как папки, а потоки - как файлы.
Flasher писал(а):Насчёт Registry не подтверждаю.
Попробуй сам:
[cut]

Код: Выделить всё

#NoTrayIcon

Opt('WinWaitDelay', 100)

Global Const $WM_COPYDATA = 0x004A
Local $hTC, $hWndPar, $sMem, $sMsg, $sTCPlugName, $i

$hTC = WinGetHandle('[CLASS:TTOTAL_CMD]')
AutoItWinSetTitle(@ScriptName)
$hWndPar = WinGetHandle(@ScriptName)
$sMem = ClipGet()
$sTCPlugName = _TCPlugSearch('registry.wfx', 'FileSystemPlugins')
$sMem = StringRegExpReplace($sMem, '^HKCR\\', 'HKEY_CLASSES_ROOT\\', 1)
$sMem = StringRegExpReplace($sMem, '^HKCC\\', 'HKEY_CURRENT_CONFIG\\', 1)
$sMem = StringRegExpReplace($sMem, '^HKCU\\', 'HKEY_CURRENT_USER\\', 1)
$sMem = StringRegExpReplace($sMem, '^HKLM\\', 'HKEY_LOCAL_MACHINE\\', 1)
$sMem = StringRegExpReplace($sMem, '^HKU\\', 'HKEY_USERS\\', 1)
$sMem = StringRegExpReplace($sMem, '^HKUS\\', 'HKEY_USERS\\', 1)
_TC_cd_command(__CheckANSItoUTF8('\\\' & $sTCPlugName & '\' & $sMem), '', 'ST')

Func _TCPlugSearch($name, $type)
    Local $aTCPs
    $aTCPs = IniReadSection(EnvGet('COMMANDER_INI'), $type)
    For $i = 1 To $aTCPs[0][0]
        If StringInStr($aTCPs[$i][1], $name) Then
            If $type = 'FileSystemPlugins' Then
                Return $aTCPs[$i][0]
            Else
                Return 1
            EndIf
        EndIf
    Next
    Return 0
EndFunc   ;==>_TCPlugSearch

Func __CheckANSItoUTF8($sStr)
    Local $sStrTemp, $BOM = Chr(239) & Chr(187) & Chr(191) ; \xEF \xBB \xBF
    $sStrTemp = BinaryToString(StringToBinary($sStr, 1), 1)
    If Not ($sStr == $sStrTemp) Then
        $sStr = BinaryToString(StringToBinary($sStr, 4))
        Return $BOM & $sStr
    Else
        Return $sStr
    EndIf
EndFunc   ;==>__CheckANSItoUTF8

Func _TC_cd_command($l, $r, $sFlag = "")
    Local $sCommand = $l & @CR & $r & ChrW(0) & $sFlag
    Local $pCDcom = DllStructCreate("char[" & StringLen($sCommand)+ 1 & "]")
    Local $pCopyData = DllStructCreate("ulong_ptr;dword;ptr")
    DllStructSetData($pCDcom, 1, $sCommand)
    DllStructSetData($pCopyData, 1, Asc("C") + 256 * Asc("D"))
    DllStructSetData($pCopyData, 2, DllStructGetSize($pCDcom))
    DllStructSetData($pCopyData, 3, DllStructGetPtr($pCDcom))
    DllCall("user32.dll", "int", "SendMessageW", "hwnd", $hTC, "int", $WM_COPYDATA, "wparam", $hWndPar, "lparam", DllStructGetPtr($pCopyData))
EndFunc   ;==>_TC_cd_command
[/cut]
Ветка реестра берётся из буфера обмена, запуск без параметров, AutoIt3.exe. (Скрипт сокращён и все проверки убраны.)
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Skif_off писал(а):В NTFS-streams файлы читаются как папки, а потоки - как файлы.
Один фиг - это файловые потоки. Важно, что толку от правки никакой.
Skif_off писал(а):Попробуй сам
Зачем? Тут про TCFS2, а не AutoIt.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

Flasher писал(а):Зачем? Тут про TCFS2, а не AutoIt.
Тут про WM_COPYDATA и пути fs-плагинов, попробуй прочитать ещё раз.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Skif_off
Тут - это в данном топике. У WM_COPYDATA есть свой. Прочитай лучше сам.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

Flasher
Для cd TCFS2 использует WM_COPYDATA, поломалось из-за изменений в ТС9, но изменений странных: по крайней мере с Registry WM_COPYDATA работает по старому. Где тут оффтоп? Появится MVV - прояснит (лениво искать тему на оффоруме, но там вроде про этот нюанс (баг?) ничего не было).
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Skif_off
Ты пишешь в рамках темы, что у тебя переход с Registry работает правильно, а потом переводишь стрелки на AutoIt. Это ли не оффтоп?

Что использует TCFS2, мне прекрасно известно. Суть в том, что ты явно не указал, что твои тесты к топику отношения не имеют.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

Flasher
Стрелки? :) В рамках темы писал про причину бага перехода - изменения, касающиеся WM_COPYDATA и путей fs-плагинов, а скрипт AutoIt, чтобы ты лично мог убедиться, что с плагином Registry WM_COPYDATA в бете ТС9 продолжает работать и по-старому.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Skif_off
Стрелки-стрелки. У меня телепатический модуль в такой ситуации отключается. Работает где-то кроме TCFS2 - хорошо, но мне неинтересно.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

Flasher
Глаза-то не отключились? :) Посмотри ещё раз моё сообщение: писал только о WM_COPYDATA и изменении, про TCFS2 вообще ни слова.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Skif_off
С WM_COPYDATA ты привёл цитату из истории версий. Про переход же написано больше в контексте обсуждения. Ещё раз (надеюсь, последний):
Flasher писал(а):Суть в том, что ты явно не указал, что твои тесты к топику отношения не имеют.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Skif_off
Сообщения: 1252
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

Flasher
[cut]Про переход написано в контексте цитаты: декларированных изменений в использовании WM_COPYDATA. И написано в теме, автор которой использует WM_COPYDATA и влияет на изменения, принимая участие в обсуждении оного, а отношения не имеют лично к тебе, как к не использующему в публично предложенных решениях это сообщение непосредственно.[/cut]
Аватара пользователя
Avada
Сообщения: 10541
Зарегистрирован: Пт авг 01, 2008 16:17
Откуда: Россия, Саратов

Сообщение Avada »

Flasher
Skif_off
Дальнейший обмен мнениями по этому поводу прошу прекратить в связи с явной утратой его конструктивности.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

LonerD писал(а):При обновлении программки иногда изменяется и крупный инишник TCFS2.ini, приходится его сверять со своим, исправлять, изменять...
Пожелание. Наряду с TCFS2.ini держать в папке с программой ещё файлик TCFS2_user.ini, в который и вносятся все пользовательские изменения, и в случае наличия в нём каких-то секций и ключей - они будут иметь приоритет на TCFS2.ini
Т.к. все инишники пишутся вручную, можно добавить в свои какой-нибудь комментарий после окончания опций "крупного" инишника (и перед началом своих) в каждой секции и набросать скриптик, который будет синхронизировать начала секций до этого комментария с содержимым секций "крупного" инишника. В принципе, я тоже могу добавить какой-нибудь комментарий в конец каждой секции в "крупном" инишнике (но не вижу в этом особой необходимости).
Skif_off писал(а):Для cd TCFS2 использует WM_COPYDATA, поломалось из-за изменений в ТС9, но изменений странных: по крайней мере с Registry WM_COPYDATA работает по старому. Где тут оффтоп? Появится MVV - прояснит (лениво искать тему на оффоруме, но там вроде про этот нюанс (баг?) ничего не было).
Похоже, это связано с этим багом.
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

MVV
Во вспомогательной функции send_wait убрал sendmsg(#2)*. Стабильность выполнения функции улучшилась (у меня, во всяком случае). Могут ли быть какие-то подводные камни при таком варианте?
Ответить