Windows Script Host

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

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

vserd
Сообщения: 118
Зарегистрирован: Вт апр 26, 2005 16:54

Сообщение vserd »

Batya
А в какой ветке реестра корректней создать параметр? (Не хочеться создавать где попало.)
в HKEY_CURRENT_USER\Software\Batya software\....
Создавай именно в HKEY_CURRENT_USER т.к. на HKLM нет прав если пользуются не под админом.
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

Volniy, vserd
ОК. Решил создать в HKCU\Environment\.
Аватара пользователя
Volniy
Сообщения: 585
Зарегистрирован: Ср дек 15, 2004 00:17
Откуда: Местный

Сообщение Volniy »

Batya писал(а):Volniy, vserd
ОК. Решил создать в HKCU\Environment\.
Я думаю, что не стоит вмешиваться в системные настройки.
You can modify user environment variables by editing the following Registry key: HKEY_CURRENT_USER\Environment
(Value entries that correspond to the current user's settings for environment variables. This includes information that was stored in the AUTOEXEC.BAT file under MS-DOS. Values should be set by using the System icon in Control Panel. )
Может лучше выберешь что-нибудь по-нейтральнее?

А вообще объяснил бы ты по-точнее свою идею со взаимодействием скриптов. Может там вообще по-другому пути можно пойти. Почему один скрипт должен прерывать другой, почему сам скрипт не может разобраться когда ему закончиться?
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

Volniy
А вообще объяснил бы ты по-точнее свою идею со взаимодействием скриптов. Может там вообще по-другому пути можно пойти. Почему один скрипт должен прерывать другой, почему сам скрипт не может разобраться когда ему закончиться?
Писал скрипт в теме - Добавление имя каталога к именам выделенных файлов?.
Нужно, чтобы скрипт постоянно висел в памяти. Но ведь "не есть хорошо" просто убивать процесс, если надо прервать работу скрипта. Хочеться сделать все цивильно. Поэтому и задался вопросом - "Как вторым скриптом убить работу первого?".
Аватара пользователя
Volniy
Сообщения: 585
Зарегистрирован: Ср дек 15, 2004 00:17
Откуда: Местный

Сообщение Volniy »

Посмотрел. Ну ты и завернул там, однако... Я вот что тебе скажу: ты зря отказался от пива :), оно того стоило. Это не скрипт, а целая прога, серьезно.
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

Volniy
Посмотрел. Ну ты и завернул там, однако... Я вот что тебе скажу: ты зря отказался от пива , оно того стоило. Это не скрипт, а целая прога, серьезно.
Да ладно, всего-то несколько десятков строк (тем более пиво в другом городе :( )
Другое дело - твой Helper - замечательная штука! Но ведь ты же пиво за него не берешь.
Аватара пользователя
Volniy
Сообщения: 585
Зарегистрирован: Ср дек 15, 2004 00:17
Откуда: Местный

Сообщение Volniy »

Batya писал(а):Но ведь ты же пиво за него не берешь.
Дык никто ведь и не предлагает :D А насчет "в другом городе", так для этого и придуманы виртуальные деньги, например WebMoney. Вполне доступно любому, имеющему выход в Интернет. Я вот однажды из Израиля "получил на пиво" именно таким способом. Без проблем. Я считаю, что современному человеку такой виртуальный счет совсем не помешает, тем более, что все это абсолютно бесплатно (не считая, конечно, небольшой пени /меньше 1%/ при переводе со счета на счет).

Ладно, проехали. Так что там с десятой беткой, замечания есть?
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

Так что там с десятой беткой, замечания есть?
Если честно, у меня совсем нет времени посмотреть :(
А точнее - какой-нибудь интересной практической задачки, к которой можно прикрутить Helper.
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

Есть вопрос. Пришёл вот отсюда: решил попробовать этот скрипт, а прожка-то и не работает... Точнее, не регистрируется. Запускал и обычным способом, и с ключом /REGISTER - пофиг. Запуск скрипта, приведённого в посте, на который я дал ссылку, приводит к ошибке:

---------------------------
Windows Script Host
---------------------------
Script: C:\tmp\tcwshelp_b10\1.vbs
Line: 6
Char: 1
Error: The system cannot find the file specified.
Code: 80070002
Source: (null)

---------------------------
OK
---------------------------

Шестая строка: Set TCS = CreateObject("TCScript.Helper"), поэтому похоже, что объект просто не зарегистрирован. Вопрос стандартный: кто виноват и что делать?
Аватара пользователя
Ciber SLasH
Сообщения: 209
Зарегистрирован: Сб авг 20, 2005 21:41
Откуда: С.-Петербург

Сообщение Ciber SLasH »

А меня вот интересует такой вопрос про WSH:
возможно ли вызывать API-функции из скрипта? Возможно как-нить через стандартные COM-объекты (ввиде "прокладки" к Win32API)...
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

CaptainFlint
А что происходит при запуске TCWSHelp.exe?

Ciber SLasH
Вероятно можно. Только как, я еще не знаю.
Интересный пример на Jscript:

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

//JScript
var WshShell = WScript.CreateObject("WScript.Shell");
var Str;
KL = true;
Str = "THE MATRIX HAS YOU..." //Печатаемая строка
while (KL) {
  if (WshShell.AppActivate("Microsoft Word")) { //Проверка заголовока активного окна
  WriteWord("^+P36~"); //Установить размер шрифта 36 пт
  WriteWord("^B");     //Включить полужирное начертание
  for (i=0;i<=Str.length;i++)
    {
    WriteWord(Str.substring(i,i+1));
    }
  }
  KL = false;
  WScript.Sleep(10000);
}

function WriteWord(varWord) {
  WshShell.SendKeys(varWord);
  WScript.Sleep(300);
}
Сохранить в *.js, запустить, после этого запустить Word.
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

Batya
А что происходит при запуске TCWSHelp.exe?
Вываливает диалог About:
---------------------------
About Script Helper for TC
---------------------------
Script Helper ActiveX for Total Commander

Version: Beta10

Copyright (c) 2005, Volniy
E-mail: <removed>
---------------------------
OK
---------------------------
Последний раз редактировалось CaptainFlint Ср ноя 23, 2005 20:54, всего редактировалось 1 раз.
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

CaptainFlint
Хм... Вроде все нормально.
Ты же потом не убиваешь файл TCWSHelp.exe?
Может у тебя WHS кривой на машине? Где-то я это уже видел...
Попробуй создать другие объекты:

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

Set FSO = CreateObject("Scripting.FileSystemObject")
Set OS  = CreateObject("Shell.Application")
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

Этот код выполняется.
Ты же потом не убиваешь файл TCWSHelp.exe?
Нет, разумеется. :D
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

Тогда я не знаю.
Надо у автора Helper-а спросить.

Volniy, отзовись!
Ответить