Страница 2 из 27

Добавлено: Вт ноя 22, 2005 12:16
vserd
Batya
А в какой ветке реестра корректней создать параметр? (Не хочеться создавать где попало.)
в HKEY_CURRENT_USER\Software\Batya software\....
Создавай именно в HKEY_CURRENT_USER т.к. на HKLM нет прав если пользуются не под админом.

Добавлено: Вт ноя 22, 2005 12:54
Batya
Volniy, vserd
ОК. Решил создать в HKCU\Environment\.

Добавлено: Вт ноя 22, 2005 14:23
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. )
Может лучше выберешь что-нибудь по-нейтральнее?

А вообще объяснил бы ты по-точнее свою идею со взаимодействием скриптов. Может там вообще по-другому пути можно пойти. Почему один скрипт должен прерывать другой, почему сам скрипт не может разобраться когда ему закончиться?

Добавлено: Вт ноя 22, 2005 14:45
Batya
Volniy
А вообще объяснил бы ты по-точнее свою идею со взаимодействием скриптов. Может там вообще по-другому пути можно пойти. Почему один скрипт должен прерывать другой, почему сам скрипт не может разобраться когда ему закончиться?
Писал скрипт в теме - Добавление имя каталога к именам выделенных файлов?.
Нужно, чтобы скрипт постоянно висел в памяти. Но ведь "не есть хорошо" просто убивать процесс, если надо прервать работу скрипта. Хочеться сделать все цивильно. Поэтому и задался вопросом - "Как вторым скриптом убить работу первого?".

Добавлено: Вт ноя 22, 2005 18:31
Volniy
Посмотрел. Ну ты и завернул там, однако... Я вот что тебе скажу: ты зря отказался от пива :), оно того стоило. Это не скрипт, а целая прога, серьезно.

Добавлено: Ср ноя 23, 2005 11:11
Batya
Volniy
Посмотрел. Ну ты и завернул там, однако... Я вот что тебе скажу: ты зря отказался от пива , оно того стоило. Это не скрипт, а целая прога, серьезно.
Да ладно, всего-то несколько десятков строк (тем более пиво в другом городе :( )
Другое дело - твой Helper - замечательная штука! Но ведь ты же пиво за него не берешь.

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

Ладно, проехали. Так что там с десятой беткой, замечания есть?

Добавлено: Ср ноя 23, 2005 14:49
Batya
Так что там с десятой беткой, замечания есть?
Если честно, у меня совсем нет времени посмотреть :(
А точнее - какой-нибудь интересной практической задачки, к которой можно прикрутить Helper.

Добавлено: Ср ноя 23, 2005 16:28
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"), поэтому похоже, что объект просто не зарегистрирован. Вопрос стандартный: кто виноват и что делать?

Добавлено: Ср ноя 23, 2005 16:46
Ciber SLasH
А меня вот интересует такой вопрос про WSH:
возможно ли вызывать API-функции из скрипта? Возможно как-нить через стандартные COM-объекты (ввиде "прокладки" к Win32API)...

Добавлено: Ср ноя 23, 2005 17:14
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.

Добавлено: Ср ноя 23, 2005 17:20
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
---------------------------

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

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

Set FSO = CreateObject("Scripting.FileSystemObject")
Set OS  = CreateObject("Shell.Application")

Добавлено: Ср ноя 23, 2005 17:29
CaptainFlint
Этот код выполняется.
Ты же потом не убиваешь файл TCWSHelp.exe?
Нет, разумеется. :D

Добавлено: Ср ноя 23, 2005 17:51
Batya
Тогда я не знаю.
Надо у автора Helper-а спросить.

Volniy, отзовись!