Страница 1 из 10

SM2BT 0.5 beta 4

Добавлено: Пт янв 05, 2007 20:34
GeNtlE
Программа SM2BT предназначена для работы с окнами чужих приложений. При появлении окна с подходящими характеристиками (см. раздел Конфигурирование), происходит его обработка. Это может быть, например, закрытие, отправка клавиатурного сочетания или просто последовательности нажатий клавиш. Функциональность программы расширяется плагинами.

SM2BT 0.5 beta 4
Изменения с версии 0.5 beta 3:
  • Устранена проблема с запуском нескольких экземпляров программы;
    Исправления в русском языковом файле;
    Убраны недействующие пункты в меню;
    Устранена проблема с появлением пустых окон;
    Readme-файл теперь в html.
Подробности, как всегда в Readme. Настоятельно рекомендую ознакомиться.

Архив версий:
  • SM2BT 0.5 beta 4 (66k) - последняя тестовая версия
    SM2BT 0.2.2 (28k) - последняя стабильная версия
    Shooter 0.2 (230k) - конфигуратор для SM2BT 0.2.2.

Добавлено: Ср янв 10, 2007 22:30
Моторокер
Вижу, проблема актуальная! Буду смотреть.

Добавлено: Чт янв 11, 2007 17:51
GeNtlE
Проблема актуальная? Да, после использования KillOk я понял, как это удобно. Единственное, что мне не понравилось - мало настроек и бледно-жёлтого цвета полупрозрачное окошко, которое мешало дальше работать. Остальное в ридми написано. Ах да, в той версии, что я впервые попробовал, закрывались не все окна сообщений (или, если закрывались, то через раз). Сейчас, вижу, это устранено.

P.S. Её кто-нибудь кроме Моторокера скачал? А то как-то об актуальности говорить совесть не позволяет.

Добавлено: Чт янв 11, 2007 18:53
aLexx
Я качнул, но, каюсь, ещё не попробовал. Недосуг.
А KillOk от Mоторокера у меня в автозагрузке. Юзаю в полный рост.
Так что сравним...

Добавлено: Пн янв 15, 2007 07:48
aLexx
Попробовал. Зело понравилось! Гламурно!

Несколько камушков в огород:

Опечатки в "Reаdme.txt":
1. "ShowMessage Closer предназначен специфической работы с окнами."
Пропущено "для".
2. При запуске с ключём "+ar" надпись - ".... ESC - Выход и отмена."
Имхо, лучше будет ".... ESC - Отмена и выход."

Цитата из "Reаdme.txt": "Она должна совпасть с указанной в файле CRC.md5".
А файла-то в архиве нету!

Хотелки:

1. Всё-таки файл "log" лучше вести в каталоге программы. Можно под разными именами
для разных пользователей. Например, "ClosedWindows-User.log".

2. Надо иметь возможность рулить время показа пузыря-подсказки. Или хотя бы до
клика мыхом или любой клавишей. А то закрывает правую строку состояния ТС.

3. При запуске Setup.cmd хотелось бы иметь возможность выбора варианта установки.
Например:
1 - Автозапуск для всех юзеров.
2 - Автозапуск для текущего юзера.
3 - Однократный запуск.
0 - Отмена и выход.

4. Имхо, нумерация строк "Handle" - это атавизм. Надо убрать. Или без этого нельзя?
А то я в середину файла добавил строку для ТС
"Handle7=#32770|Total Commander|Static|Файлы на источнике и получателе|I||0D" (одинаковы)
и мне пришлось вручную менять все номера "Handle" после неё. Подозреваю, что порядок
этих номеров значения не имеет, но всё же лучше, что бы было красиво, по порядочку.

5. В список "Тип иконки во всплывающем сообщении" надо добавить "Q" - запрос.

Вопросы.
1. Вот пара строк (из 7 пар) для игры "1000":
Handle37=#32770|Bart|Static|Распишем|I||0D
Handle38=#32770|Homer|Static|Распишем|I||0D
Видим, что различия только в заголовке окна (имя игрока). Как их свести в одну строку?
И в то же время, что бы всё-таки в пузырь выводилось имя игрока.

2. Если номерация "Handle" имеет разрывы (типа, ...,10,11,14,15...), будет ли это всё
работать?

ЗЫ. Наконец-то, я избавился от сообщения Листера "Не найдено: бла-бла". Строка:
HandleХХХ=#32770|Не найдено:|Static||I||0D !

ЗЫЫ. Поставил другану на его ТС SM2BT с таким ини-файлом:

Handle1=TInpComboDlg|Total Commander|||I||1B
Handle2=#32770|Total Commander|Static|Неужели Вы хотите удалить|W||1B

Эффект потрясающий! :) Надо было видеть его лицо!
Люблю издеваться над людьми...

Добавлено: Пн янв 15, 2007 10:08
aLexx
И ещё.
Может, добавить в строку "Handle" параметр (0 или 1) - показывать пузырь или нет.

Добавлено: Пн янв 15, 2007 13:11
Sam Dark
GeNtlE
Попробовал. Понравилось. Если будут реализовано то, что описано в readme - будет вообще бесценная программа.

p.s. можно запостить новость на своём сайтике? Сайт у программы будет? Если что - могу помочь.

Добавлено: Пн янв 15, 2007 16:45
sergeich
Неплохо. Но пузырь действительно лучше бы отключался.
И левый щелчок мыши не копировал бы сообщение в буфер, а отключал программу.

Добавлено: Вт янв 16, 2007 18:58
GeNtlE
aLexx
Цитата из "Reаdme.txt": "Она должна совпасть с указанной в файле CRC.md5".
А файла-то в архиве нету!
Просмотрел, когда готовил прогу к релизу. Заметил, когда уже всё залил. МД5 есть в шапке.
1. Всё-таки файл "log" лучше вести в каталоге программы. Можно под разными именами
для разных пользователей. Например, "ClosedWindows-User.log".
Изначально задумывалось, что файл лога будет лежать в папке с программой. При задании относительных путей иногда происходило переназначение текущего (рабочего) каталога программы в %USERPROFILE%. Сейчас это исправлено. Как только я пойму, как быстро и безглючно разворачивать переменные в абсолютные пути, будет возможно разделение ведения лога по пользовалелям (переменная окружения %USERNAME%).
2. Надо иметь возможность рулить время показа пузыря-подсказки. Или хотя бы до
клика мыхом или любой клавишей. А то закрывает правую строку состояния ТС.
Это можно сделать. Единственное ограничение - это время отображения Balloon Tooltip может быть не меньше 3 секунд. Я заметил, что если система находится в состоянии бездействия (idle), подсказка не убирается до тех пор, пока пользователь не проявит какую-либо активность.
3. При запуске Setup.cmd хотелось бы иметь возможность выбора варианта установки.
Например:
1 - Автозапуск для всех юзеров.
2 - Автозапуск для текущего юзера.
3 - Однократный запуск.
0 - Отмена и выход.
Здесь третий режим означает, что программа будет запущена немедленно? Это зачем ещё? Или ты предлагаешь разместить ссылку на программу в RunOnce? Тоже зачем? В такой постановке вопроса я вижу третий пункт таким: "Удаление программы из автозапуска".
4. Имхо, нумерация строк "Handle" - это атавизм. Надо убрать.
Я подумаю. Возможно, характиристики окон перекочуют в отдельный файл - это решит проблему с нумерацией.
Порядок, совершенно верно, значения не имеет.
5. В список "Тип иконки во всплывающем сообщении" надо добавить "Q" - запрос.
Предложение интересное и где-то даже логичное. Microsoft не предусмотрела введение такого значка в качестве пиктограммки для оповещения. Balloon Tooltip - это же оповещение пользователя о каких-то произошедших событиях в системе. Посмотрев документацию, я понял, что введение этого значка (а также, практически любого другого) возможно. Пока не разбирался, но учту пожелание.
1. Вот пара строк (из 7 пар) для игры "1000":
Handle37=#32770|Bart|Static|Распишем|I||0D
Handle38=#32770|Homer|Static|Распишем|I||0D
Видим, что различия только в заголовке окна (имя игрока). Как их свести в одну строку?
И в то же время, что бы всё-таки в пузырь выводилось имя игрока.
Надо поставить вместо имени игрока звёздочку (*):

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

Handle38=#32770|*|Static|Распишем|I||0D
2. Если номерация "Handle" имеет разрывы (типа, ...,10,11,14,15...), будет ли это всё
работать?
Программа будет читать эти строчки по порядку и, когда дойдёт до 11, как в этом примере, завершит считывание настроек, поскольку не найдёт 12 пункта.
Поставил другану на его ТС SM2BT с таким ини-файлом...
Я против такого применения программы. Надеюсь, друг не остался потом воевать с компьютером один на один?
Может, добавить в строку "Handle" параметр (0 или 1) - показывать пузырь или нет.
Она уже добавлена. В следующей версии эта опция будет управлять отображением пузырей и записью информации в файл лога.

Sam Dark
Попробовал. Понравилось. Если будут реализовано то, что описано в readme - будет вообще бесценная программа.
Спасибо, я рад. :) Реализовано будет. Я заинтересован в том, чтобы это всё работало, так как сам использую эту программу.
можно запостить новость на своём сайтике? Сайт у программы будет? Если что - могу помочь.
Спасибо, был бы очень благодарен. А насчёт сайта... Не очень расположен я пока писать сайт ради двадщати килобайтовой программы. Это вопрос времени. ...и хостинга. Кроме народа мне некуда выкладывать сайт.

sergeich
Пузырь будет отключаться в следующей версии. А по поводу щелчков мыши по иконке в трее хочу сказать, что планирую это всё сделать настраиваемым.

Добавлено: Вт янв 16, 2007 19:35
sergeich
2GeNtlE
Спасибо за ответы, ждем новую версию :-)

Добавлено: Ср янв 17, 2007 10:21
Sam Dark
GeNtlE
Пусть будет хоть страничка на народе. Уж лучше, чем ничего...

p.s. написал о программе у себя: http://rmc.net.ru/news/

Добавлено: Пт янв 19, 2007 05:41
aLexx
1. Вот две строки:

HandleXXX=#32770||Ошибка записи|E||0D
HandleXXX=#32770||Ошибка записи||E||0D

При запуске с ошибочной строкой (вверху) Sm2bt.exe вывалился с аншлагом
"Инструкция ... обратилась к памяти по адресу ...
Память не может быть "writen"."
Нижняя строчка правильная.
Нельзя ли сделать хотя бы простейшую проверку синтаксиса строк?
А уж если бы прога выводила сообщение: "В строке "Handle-номер-такой-то ошибочка!" - это был бы rulezzz!

2. Наконец-то я избавился от запросов на удаление системных/скрытых/только для чтения
файлов в окне "Синхронизация каталогов" !!! :) Ура! А заодно, если я выбираю в
контексте "Удалить справа/слева", удаление начинается без подтверждения. Строки:
HandleXXX=TExtMsgForm|Total Commander|||I||0D
HandleXXX=TInpComboDlg|Total Commander|||I||0D

3. Нельзя ли прикрутить выключение/включение Sm2bt.ехе из ком. строки?
А то у меня очень много скриптов используют комманды упаковки/распаковки, копирования,
удаления и включенный Sm2bt мешает их работе. Например, ключи "/off" и "/on".
Было бы ваще шикарно!

Добавлено: Пт янв 19, 2007 22:50
Моторокер
Неудобно, что программу вначале нужно настраивать под себя. С другой стороны точно знаешь, какие окна закрываются.
Было бы хорошо записывать в ini не все параметры, а например только класс и/или заголовок окна.

Добавлено: Сб янв 20, 2007 23:44
GeNtlE
aLexx
Нельзя ли сделать хотя бы простейшую проверку синтаксиса строк?
Будет. Изменений много. Сейчас уже секция [Handles] (бывшая) лежит в отдельном файле. Следующее, что я сделаю в этом направлении, будет проверка синтаксиса.
Нельзя ли прикрутить выключение/включение Sm2bt.ехе из ком. строки?
Прикрутил.
HandleXXX=TExtMsgForm|Total Commander|||I||0D
HandleXXX=TInpComboDlg|Total Commander|||I||0D
Вообще-то я не тестировал программу с начисто отсутствующими классами и заголовками окон в настройках. Для этих целей я предусмотрел вписывать в такие места символ 'звёздочка' (*). Обязуюсь проверить.

Моторокер
Неудобно, что программу вначале нужно настраивать под себя. С другой стороны точно знаешь, какие окна закрываются.
Гм... Имхо, нельзя написать программу, которая бы полностью угадывала потребности пользователя. Мне, вот например, хотелось бы закрывать виндовые сообщенния о неудачном дозвоне (в силу определённых причин я мог использовать только эту "звонилку"), другие какие-то сообщения, в которых вообще нет кнопки "ОК". Я не могу догадаться, какое окошко МНЕ необходимо будет закрыть. Что уж говорить про других пользователей.
Было бы хорошо записывать в ini не все параметры, а например только класс и/или заголовок окна.
На это я частично ответил выше. Ну, нету, например, в некоторых окнах сообщений дочерних окон с классом "Static". Не все сообщения об ошибках (и не только) имеют класс "#32770". Они не закроются. Кстати, раньше так и было.
Да и в общем я придерживаюсь мнения, что программа должна работать на любых наборах данных, охватывать наиболее общий случай, а не заостряться на частных случаях с фиксированными значениями.

2all
Идёт тестирование программы. Выложу после обновления документации. Чтобы заинтриговать, вот кратенький анонс:
- Исправлена проблема с созданием лишних файлов лога в %USERPROFILE%
- Изменено поведение по нажатию левой кнопки мыши по иконке в трее. Теперь последнее сообщение не копируется в буфер обмена, а лишь отображается всплывающая подсказка (Balloon). Скопировать последнее сообщение позволяет щелчок средней кнопкой мыши.
- Добавлена возможность выбора режима вывода информации о закрытом сообщении (Можно, например, выбрать режим, при котором не будут выводиться всплывающие сообщения в трее и/или производиться запись в лог). Для полного описания возможности, см. ReadMe.txt
- Добавлена возможность выбора режима вывода информации о закрытом сообщении "по умолчанию". Существует возможность использовать её вместо указанных индивидуально для каждого окна (Ключи Override и OutputMode секции Handle).
- Непомещающийся в Balloon текст (255 символов - ограничение API) теперь завершается многоточием.
- Текст сообщений в файле лога и внутреннем списке теперь сохраняется полностью. Копируется в буфер теперь, также, полный текст сообщения (а не усеченный до 255 символов).
- Добавлена поддержка переменных окружения. Находятся и обрабатываются все переменные окружения текущего процесса. Должны работать даже строки типа "%TEMP%\SM2BTLogs\ClosedWindows_%USERNAME%.log" с одной лишь оговоркой: папки в пути файла должны существовать. Переменные разворачиваются везде, где это возможно (даже в строках Handle). Полный список переменных окружения можно увидеть, выполнив в консоли команду "SET".
- Введена внутренняя переменная %SM2BTPath%. Её можно использовать в ini-файле для указания пути к программе в строках, содержащих пути.
- Добавлена возможность замены части текста во всплывающих сообщениях как в заголовке, так и в тексте.
- Вынесены в отдельный файл строки HandleXXXX, убрана нумерация.
- Добавлена возможность включения и выключения программы из командной строки (ключи /on, /off и /toggle).
- Значительные внутренние изменения. Улучшена стабильность.
Слушаю дополнения.

Добавлено: Вс янв 21, 2007 00:11
sergeich
2GeNtlE
А неактивные окна еще не обрабатываются?