Windows Script Host
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
В смысле "узнал"? О таком невозможно не знать, если это не чужая сборка, конечно.
Дата модификации у dll какая? Пример кнопки с TCKB не работает? Интерпретатор откуда тянулся?
Дата модификации у dll какая? Пример кнопки с TCKB не работает? Интерпретатор откуда тянулся?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Чаво-то я совсем запутался
Нет у меня никакой .dll. Только файл TCWSHelp.exe. Не оно?
Пример не работающего скрипта:
UPD. Скачал готовую сборку для TC c tckb.ru, закинул в папку TC, скопировал в эту же папку wscript.exe из system32, перезагрузил комп — не работает

Нет у меня никакой .dll. Только файл TCWSHelp.exe. Не оно?
Пример не работающего скрипта:
Код: Выделить всё
'=======================================================
' Создание текстового файла с содержимым буфера обмена
'=======================================================
Option Explicit
Dim FileName
'========== Изменяемые параметры =======================
FileName = "Новый файл.txt" 'Имя создаваемого файла
'=======================================================
Dim TCS, Clip, Btn, FSO, OTL, Mess, Title
Set TCS = CreateObject("TCScript.Helper")
Clip = TCS.GetTextFromClip
Set TCS = Nothing
If Len(Clip) > 0 Then
Set FSO = CreateObject("Scripting.FileSystemObject")
If FSO.FileExists(FileName) Then
Mess = "Буфер обмена содержит текст." & vbNewLine & _
"Заменить содержимое файла " & FileName & _
" текстом из буфера обмена?" & vbNewLine
Title = "Замена содержимого файла"
Else
Mess = "Буфер обмена содержит текст." & vbNewLine & _
"Создать файл " & FileName & _
" с содержимым буфера обмена?" & vbNewLine
Title = "Создание текстового файла"
End If
Btn = MsgBox(Mess, vbYesNo + vbQuestion, Title)
If Btn = 7 Then 'Кнопка No
Set FSO = Nothing
WScript.Quit
End If
Else
WScript.Quit
End If
Set OTL = FSO.OpenTextFile(FileName, 2, True)
OTL.Write Clip
OTL.Close
Set OTL = Nothing
Set FSO = Nothing
WScript.Quit
Последний раз редактировалось HEXFIX Вт дек 04, 2018 13:37, всего редактировалось 1 раз.
Нет, конечно. Это то, что и было, никакой не Portable. Ссылка на статью дана в первом посте темы.HEXFIX писал(а):Не оно?
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
10-ка 32-битная что ли? Перезагружать ничего не надо. Сперва надо разрегистрировать TCWSHelp.exe. Интерпретатор использовать лучше этот.HEXFIX писал(а):скопировал в эту же папку wscript.exe из system32, перезагрузил комп — не работает
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
HEXFIX
Принципиальное неиспользование в последних фразах постов точек запрещено правилами форума и придаёт сообщениям недописанный вид. Категорически прошу прекратить эту практику.
Принципиальное неиспользование в последних фразах постов точек запрещено правилами форума и придаёт сообщениям недописанный вид. Категорически прошу прекратить эту практику.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Не представит себе наши безобразия.
- rediffusion
- Сообщения: 34
- Зарегистрирован: Пн фев 25, 2019 20:24
Уже 3 дня мучаюсь, пора спросить!Flasher писал(а):Ссылка на статью дана в первом посте темы.
Ну перешёл на ваш сайт. Прочитал несколько раз статью (сайт кстати то работает то нет).
1. ¦
wscript.exe - перебросил в папку из "%Windir%\SysWOW64" в "TCHelper" (в которой всё, что скачал с вашего сайта).
2. ¦
Есть плагин "FileInfo".
[cut]Что же касается tlbid в <typelib>, а также clsid, progid в <comClass>, то эти вещи придётся смотреть в выше оговоренных плагинах либо других прикладных ПО. В плагине FileInfo это будет вкладка ActiveX/OCX. Как правило, сверху рабочей области страницы, где есть uuid(...), вместо троеточия в фигурных скобках записан tlbid, а снизу - clsid.[/cut]
1) Данные tlbid и clsid брать из вашего "TCScript.dll"? Этих uuid там целых 3 штуки.
Хорошо tlbid - он записан вверху.
Ну а этот clsid - в каком низу? Ниже самого первого? Или он самый последний? И да clsid - это тоже начинается на uuid (только ниже) или запись должна начинаться вот с таких строк "clsid" и потом что-то? Если да то такова слова нет "clsid".
3. ¦
А можно uuid брать с других .dll например тех которые расположены по вот такому пути "%Windir%\SysWOW64"?
P.S.
Кстати заметил что некоторые .vbs скрипты работают и без "TCHelper".
rediffusion
1. Вообще у TCScript.dll есть своя тема. Для каких целей он понадобился?
2-3. Это не для вас, а для WSH/COM/OLE-разработчиков.
1. Вообще у TCScript.dll есть своя тема. Для каких целей он понадобился?
2-3. Это не для вас, а для WSH/COM/OLE-разработчиков.
Да неужели?rediffusion писал(а):Кстати заметил что некоторые .vbs скрипты работают и без "TCHelper".
Последний раз редактировалось Flasher Сб мар 16, 2019 11:49, всего редактировалось 1 раз.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
- rediffusion
- Сообщения: 34
- Зарегистрирован: Пн фев 25, 2019 20:24
rediffusion
Вопрос лишь в том, будут ли использоваться скрипты с указанием Хелпера. Советую забить TCScript.dll в поиск по разделу. Если что-то приглянётся, то оставлять стоит всё, кроме TCWSHelp.exe, который нужно перед удалением разрегистрировать.
DemoScripts\ — папка с тестовыми скриптами от старого Хелпера. Её (если есть желание изучать коды) логично оставить в первозданном виде и закинуть в %TC%\Scripts\Components\ с остальными файлами. Вместо Components логичны ещё такие варианты: ActiveX, OLEObjects.
Вопрос лишь в том, будут ли использоваться скрипты с указанием Хелпера. Советую забить TCScript.dll в поиск по разделу. Если что-то приглянётся, то оставлять стоит всё, кроме TCWSHelp.exe, который нужно перед удалением разрегистрировать.
DemoScripts\ — папка с тестовыми скриптами от старого Хелпера. Её (если есть желание изучать коды) логично оставить в первозданном виде и закинуть в %TC%\Scripts\Components\ с остальными файлами. Вместо Components логичны ещё такие варианты: ActiveX, OLEObjects.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
На базе когда-то найденного в сети (а может и здесь на форуме) скрипта, предназначенного для копирования путей с кавычкамипытался путём обработки регекспами организовать для определённых ftp-серверов (с определёнными ip-адресами) подмену, дабы в конечном итоге при копировании получался локальный для ftp путь. Вот только в итоге обнаружилось, что через %L скрипту передаются пути без адреса сервера и регекспам тупо нечего обрабатывать. Как быть в данном случае ? Существует ли переменная или типа того, которая позволит использовать в скрипте адреса ftp-серверов и пустить их в обработку ? В vbs я не мастак, а уж тем более в vbs с нюансами TCScript
.
Код: Выделить всё
Option Explicit
Dim Delimiter
Delimiter = vbNewLine
Dim TempFile, TCS
Set TempFile = CreateObject("Scripting.FileSystemObject").OpenTextFile(WScript.Arguments(0), 1)
Set TCS = CreateObject("TCScript.Helper")
Dim StrInFile, FileNames, M1
FileNames = ""
Do While Not TempFile.AtEndOfStream
StrInFile = TempFile.ReadLine
StrInFile = chr(34) & StrInFile & chr (34)
FileNames = FileNames & StrInFile & Delimiter
Loop
TCS.SetTextToClip(Left(FileNames, Len(FileNames) - Len(Delimiter)))
Set TempFile = Nothing
Set TCS = Nothing
Wscript.Quit