Переносной Script Helper ActiveX for TC by Volniy
Select messages from
# through # FAQ
[/[Print]\]
Goto page 1, 2  Next  :| |:
Total Commander -> Автоматизация Total Commander

#1: Переносной Script Helper ActiveX for TC by Volniy Author: FlasherLocation: Москва PostPosted: Wed Nov 25, 2015 19:54
    —
Code:
'===========================================================
' Демонстрация использования метода GetInfo вспомогательного
' для ТС компонента "Script Helper ActiveX for TC by Volniy"
'===========================================================

Set TCHelper = CreateObject("TCScript.Helper")
TCHelper.Pause = 0 : T = vbTab : C = vbCr

For Each N in Split("LP LC LI LN RP RC RI RN SP SC SI SN TP TC TI TN")
  Select Case(Mid(N, 2))
    Case "P" T1 = "Путь"
    Case "C" T1 = "Число объектов"
    Case "I" T1 = "№ объекта под курсором"
    Case "N" T1 = "Имя объекта под курсором"
  End Select
  Select Case(Left(N,1))
    Case "S" T2 = "активной"  : Case "R" T2 = "правой"
    Case "T" T2 = "пассивной" : Case "L" T2 = "левой"
  End Select : Execute N & "= T1 & "" "" & T2 & """ &_
  " панели:"" & T & TCHelper.GetInfo(CStr(N)) & vbCr"
Next: If TCHelper.GetInfo("A") = "L" Then A = "левая" Else A = "правая"

MsgBox T & T & "Активная панель:" & T & T & A & C & C & T & SC & T &_
TC & T & LC & T & RC &T & C & SI & TI & LI & RI & C & SN & TN & LN &_
RN & C & SP & TP & LP & RP,, Space(18) & "Данные WM_CopyData для TC"

 Либо так:


Last edited by Flasher on Wed Dec 02, 2015 16:53; edited 3 times in total

#2:  Author: StaniclawLocation: Ташкент PostPosted: Wed Nov 25, 2015 22:26
    —
То есть с этой штукой не нужны никакие копания ни в реестре, ни в системных файлах? Всё необходимое будет на флешке? Класс!

#3:  Author: FlasherLocation: Москва PostPosted: Wed Nov 25, 2015 22:38
    —
Staniclaw
Я так понял, то были риторические вопросы, ибо в статье об этом написано, надеюсь, понятным языком. Wink

#4:  Author: StaniclawLocation: Ташкент PostPosted: Wed Nov 25, 2015 22:45
    —
Flasher
Они самые. Всё равно класс. Представляю, как обрадуются сборщики.

#5:  Author: FlasherLocation: Москва PostPosted: Sun Nov 29, 2015 13:27
    —
В статье исправлен манифест для Хелпера. Компонент по ссылке со сборкой обновлён.

Staniclaw wrote:
Представляю, как обрадуются сборщики
Ну, пока никто из них не объявился, несмотря на старый манифест. Так что не факт, что сборщики если и будут, то публичные.

#6:  Author: FlasherLocation: Москва PostPosted: Wed Dec 23, 2015 14:03
    —
Flasher wrote:
В статье исправлен манифест для Хелпера. Компонент по ссылке со сборкой обновлён.
Есть одна недоделка с декодированием Юникода, шифрованного в ANSI, как это происходит в INI-файлах.
Но автор 2 недели не появлялся, поэтому, чтобы сильно не тянуть, выложил то, что реализовано на данный момент.

[+] В статье смотрите важное дополнение перед п. 7) (совсем вылетело из головы сразу написать об этом).

#7:  Author: addhaloka PostPosted: Fri Jan 08, 2016 04:21
    —
Flasher
Чёто не хочет работать, выдаёт ошибку Confused Завёлся только после регистрации TCScript.dll, но насколько понимаю, целью было избавиться именно от этого? Проверял с примером отсюда и из статьи, сборка Хелпера также из статьи, TCx64 8.52a, Win 8.1 x64.

#8:  Author: FlasherLocation: Москва PostPosted: Fri Jan 08, 2016 13:38
    —
addhaloka
Интерпретатор в строку "Команда:" подставлялся тот, что из архива?
И если до этого запускались предыдущие версии, то см. выше [+].

#9:  Author: AvadaLocation: Россия, Саратов PostPosted: Fri Jan 08, 2016 14:13
    —
addhaloka
То, что написано здесь про важное дополнение, учтено? Говоря проще, в кнопке или юзер-команде в поле "Команда" путь к wscript.exe перед путём скрипта дописывался? У меня, пока этого не сделал, было ровно то же сообщение.
P.S. О, чуть опередили...

#10:  Author: addhaloka PostPosted: Fri Jan 08, 2016 17:58
    —
Flasher
С тем, что в архиве - ситуация такая: 7-Zip отказывается его распаковывать, ругаясь на невозможность создать симлинк (может тут собака зарыта - где-то прав не хватает? С запущенным от админа 7-Zip удалось извлечь, но не получается поменять его свойства Very Happy ), а WinRAR просто его не извлекает. Поэтому скопировал интерпретатор из %windir%\SysWOW64. Предыдущие версии не пробовал, вчера впервые решил глянуть.

Avada
С этим я тоже столкнулся, но уже после выяснения проблемы с TCScript.dll - подумал, что:
 Hidden text

но как чуть поздней оказалось - нужно.

С зарегистрированной TCScript.dll - всё прекрасно работает. Необходимость регистрации совершенно не напрягает, не вижу в это ничего страшного - обычно для подобных случаев пользуюсь батником, типа такого:
 Hidden text

но хотелось бы разобраться, и как сейчас подумал - на машине без возможности получения адм. прав, батник наверное уже не поможет.


Last edited by addhaloka on Fri Jan 08, 2016 18:18; edited 1 time in total

#11:  Author: FlasherLocation: Москва PostPosted: Fri Jan 08, 2016 18:16
    —
addhaloka wrote:
Поэтому скопировал интерпретатор из %windir%\SysWOW64.
Идём в статью и читаем:
Quote:
для компонентов с 32-битной разрядностью из папки %Windir%\SysWOW64

addhaloka wrote:
Необходимость регистрации совершенно не напрягает
В таком случае в этой ветке особо и делать нечего. Тут про портабельность. См. предисловие в статье.

Last edited by Flasher on Mon Jan 11, 2016 15:07; edited 1 time in total

#12:  Author: addhaloka PostPosted: Fri Jan 08, 2016 18:23
    —
Flasher wrote:
Идём в статью и читаем:

У меня Win 8.1 x64, а в x64 осях всё 32-х битное лежит именно в SysWOW64.

Flasher wrote:
В таком случае в этой ветке особо и делать нечего.

Ну тогда проехали. Буду сюда заглядывать - может, кто на досуге попробует разобраться, мне чего-то лень. Smile

#13:  Author: FlasherLocation: Москва PostPosted: Fri Jan 08, 2016 19:20
    —
addhaloka wrote:
в x64 осях всё 32-х битное лежит именно в SysWOW64.
И правда. Надо будет исправить.
В общем, безотносительно версий, имеем попытки вызова. Если была неудачная, то переходим к [+].

Avada
А ты тестировал на TCx64?

#14:  Author: AvadaLocation: Россия, Саратов PostPosted: Fri Jan 08, 2016 20:28
    —
Flasher
Нет, только на 32 пока успел. Но сейчас попробовал несколько скриптов на x64 (естественно, уже с другим wscript.exe). Не работает.

#15:  Author: MVVLocation: Ростов-Дон PostPosted: Mon Jan 11, 2016 14:36
    —
Я проверял на 64-битной системе, используя 32-битный wscript, всё работает как из 32-битного тотала, так и из 64-битного. Компонент на моей машине никогда не устанавливался и не установлен, поэтому портабельность была 146%, я гарантирую это.

Достаточно положить 32-битный wscript.exe (взятый из SysWOW64) в папку с распакованным пакетом из статьи и запускать скрипты только через него (т.е. указывать в командной строке сначала путь к нашей копии wscript, а потом путь к самому скрипту - как и показано в статье), иначе будет запускаться системный wscript, на который манифест из статьи не распространяется (т.к. манифест должен лежать рядом с экзешником), следовательно, никакой портабельной привязки к компоненту не будет.

А ошибка 800A01AD появляется при попытке загрузить модуль другой разрядности (т.е. в данном случае при попытке использования 64-битного wscript).


Last edited by MVV on Mon Jan 11, 2016 15:00; edited 1 time in total



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page 1, 2  Next  :| |:
Page 1 of 2

Powered by phpBB © 2001, 2005 phpBB Group