View previous topic :: View next topic |
Author |
Message |
Bishop
Joined: 15 May 2007 Posts: 98
|
(Separately) Posted: Fri Aug 31, 2007 13:18 Post subject: |
|
|
GeNtlE,
в Vista x86 сразу после перехвата, показав всплывающее окошко, падает
Quote: | Сигнатура проблемы:
Имя события проблемы: BEX
Имя приложения: SM2BT.exe
Версия приложения: 0.0.0.0
Штамп времени приложения: 2a425e19
Имя модуля с ошибкой: user32.dll
Версия модуля с ошибкой: 6.0.6000.16438
Штамп времени модуля с ошибкой: 45d3dc0e
Смещение исключения: 00067715
Код исключения: c0000409
Данные исключения: 00000000
Версия ОС: 6.0.6000.2.0.0.256.1
Код языка: 1049
|
|
|
Back to top |
|
|
Sam Dark
Joined: 25 Apr 2005 Posts: 484 Location: Voronezh, Russia
|
|
Back to top |
|
|
GeNtlE
Joined: 16 Dec 2004 Posts: 141 Location: Россия, Чита
|
(Separately) Posted: Tue Sep 04, 2007 19:38 Post subject: |
|
|
Bishop
Буду смотреть. Примечательно, что ранние, неопубликованные версии под вистой работали без проблем. Ошибка в плагине Popup.dll.
Sam Dark
Пустые окна исправлю. Кучу экземпляров тоже исправлю. Про конфиги буду думать. Но почему это будет удобнее, понять не могу. Да и как потом конфигурировать гуишным конфигуратором? _________________ Новые версии SM2BT здесь. |
|
Back to top |
|
|
Sam Dark
Joined: 25 Apr 2005 Posts: 484 Location: Voronezh, Russia
|
|
Back to top |
|
|
GeNtlE
Joined: 16 Dec 2004 Posts: 141 Location: Россия, Чита
|
(Separately) Posted: Wed Sep 05, 2007 17:06 Post subject: |
|
|
Sam Dark wrote: | GeNtlE
Если будет конфигуратор - будет всё равно, как организован конфиг. А так - см. конфиг Total Commander. | Ага. Это наталкивает меня на мысли о том, как организована админка в phpBB. Думаю, будет что-то похожее. _________________ Новые версии SM2BT здесь. |
|
Back to top |
|
|
Sam Dark
Joined: 25 Apr 2005 Posts: 484 Location: Voronezh, Russia
|
|
Back to top |
|
|
GeNtlE
Joined: 16 Dec 2004 Posts: 141 Location: Россия, Чита
|
(Separately) Posted: Wed Sep 05, 2007 22:06 Post subject: |
|
|
Этого изначально и добивался (модульности). Модульность программы, вроде, удалась. Немного до ума довести осталось. О модульном конфигураторе я даже не думал. Теперь как-то всё начинает приобретать законченный вид. _________________ Новые версии SM2BT здесь. |
|
Back to top |
|
|
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Sat Nov 03, 2007 20:31 Post subject: |
|
|
Программка сложновата в освоении.
Собственно, сейчас разбираюсь с ини-файлом и выполнением макросов.
Мне кажется, было бы неплохо добавить возможность запуска внешней проги/ассоциированного файла(скрипта) при обнаружении sm2bt окна с критериями из ini-файла.
То есть для меня идеал:
sm2bt обнаруживает окно и запускает мой скрипт обработки для этого окна. |
|
Back to top |
|
|
GeNtlE
Joined: 16 Dec 2004 Posts: 141 Location: Россия, Чита
|
(Separately) Posted: Sun Nov 04, 2007 19:15 Post subject: |
|
|
DrShark
Надо для этого написать плагин, который будет запускать ассоциированную программу (файл, скрипт).
Кстати, а возможностей SendKeys(); не хватает для обработки?
Всё руки не доходят открыть спецификацию плагинов.
Есть желающие заняться их написанием? Если есть - стучитесь в личку, аську. Попробуем что-нибудь решить. SDK в природе не существует пока. _________________ Новые версии SM2BT здесь. |
|
Back to top |
|
|
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Sun Nov 04, 2007 19:50 Post subject: |
|
|
Можно пример использования SendKeys?
Вот я Шутером получил строку вида:
Code: | ||#somenumber|Title_of_Window|N||3|0D |
Куда мне теперь это записать, чтобы послать ему комбинацию Alt+F4?
И что надо поставить, чтобы sm2bt посылал эту команду окну, даже если окно неактивно?
Quote: | Кстати, а возможностей SendKeys(); не хватает для обработки? |
а) мне удобнее будет сделать, например, один скрипт для закрытия окна по Alt+F4, и потом прописывать это в ini sm2bt как-то так:
Code: | ||#somenumber|Title_of_Window|N||3|0D|MyScript.au3 |
К тому же я могу вызвать этот скрипт из других скриптов/программ.
б) обработка сложных действий. Чем искать шутером или чем-то другим классы контролов и окон, мне легче выполнить действия мышкой и клавиатурой и макро-рекордером записать это в скрипт.
Я не против плагинов. Одно другому не мешает.
Просто sm2bt хорошо подходит для отлавливания окон, а для действий над ними мне легче использовать другие инструменты. |
|
Back to top |
|
|
GeNtlE
Joined: 16 Dec 2004 Posts: 141 Location: Россия, Чита
|
(Separately) Posted: Sun Nov 04, 2007 21:02 Post subject: |
|
|
Это будет строка вида:
Code: | ||#somenumber|Title_of_Window|N||Popup+Log|SendKeys(%({F4})); |
где класс/заголовок окна попущены (зачем?)
класс дочернего окна "#somenumber"
текст дочернего окна "Title_of_Window"
иконка - нет
вывод будет производиться во всплывающее окно и писаться в лог (которого нет)
этому окну будет производиться отправка клавиатурного сочетания Alt+F4.
Записать эту строку в ShowWindow.ini, если текст дочернего окна отловился Shooter'ом. Иначе, в DrawText.ini
Quote: | что надо поставить, чтобы sm2bt посылал эту команду окну, даже если окно неактивно? | Этот функционал есть только в версии 0.2.2. Она, кстати, ни чем не хуже версии 0.5 (есть лог, работает выключение), но там нет обработки "рисованных" окон сообщений. Чтобы это заработало в 0.5, нужен плаг. А для его написания нужно время. Или доброволец.
Quote: | мне удобнее будет сделать, например, один скрипт для закрытия окна по Alt+F4 | Я думал об этом, но мне это показалось сомнительным удобством. Посмотрим, что можно сделать.
Quote: | для действий над ними мне легче использовать другие инструменты. | Здесь два пути - написать кучу плагинов (или один?), которые будут выполнять нужные действия или написать плагин-переходник к какому-нибудь монстру, который всё умеет делать. _________________ Новые версии SM2BT здесь. |
|
Back to top |
|
|
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Sun Nov 04, 2007 21:16 Post subject: |
|
|
Quote: | где класс/заголовок окна попущены (зачем?) |
Не зачем, а я шутеру сразу указал искать дочернее окно.
Потому, что это дочернее окно проги.
Я ещё не совсем понял, как пользоватся sm2bt, обязательно ли прописывать в этом случае класс/заголовок основного окна.
Quote: | Здесь два пути - написать кучу плагинов (или один?), которые будут выполнять нужные действия или написать плагин-переходник к какому-нибудь монстру, который всё умеет делать. |
Как ты себе это представляешь?
Дело в том, что ты уже разделил sm2bt на модули.
Мне кажется, что лучше к секуции Main добавить секцию, в которой указывались бы сторонние проги. Формат такой:
Code: | [Section]
ShowWindow.ini=1,2,3,4|script.au3,script.au3,script.au3,script2.au3 |
Здесь для правил 1, 2 и 3 из ShowWindow.ini запускается скрипт script.au3, а для правила №4 - script2.au3.
Под правилами я имею ввиду характеристики окон.
Я пока не знаю, как сделать компактнее.
Почему я так упорно защищаю эту идею?
1) как минимум для меня это проще;
2) я не буду зависить от разработчиков плагинов.
Edit: Quote: | Этот функционал есть только в версии 0.2.2. | У меня есть 0.2.2. Можешь привести пример для неё? |
|
Back to top |
|
|
GeNtlE
Joined: 16 Dec 2004 Posts: 141 Location: Россия, Чита
|
(Separately) Posted: Sun Nov 04, 2007 21:53 Post subject: |
|
|
DrShark wrote: | Не зачем, а я шутеру сразу указал искать дочернее окно.
Потому, что это дочернее окно проги. | Подозреваю, что вовсе там нет дочернего окна.
И так, по порядку, как написано в ридми:
1. Ищем характеристики окна нулевого уровня (то, которое на рабочем столе лежит, имеет заголовок, кнопки закрытия и все рюшечки). В группе "Окно" нажимаем на кнопку "..." и щёлкаем по заголовку желаемого окна.
2. Ищем характеристики дочернего окна. Аналогично, только щёлкаем уже по его тексту.
И здесь есть нюанс. Если это VCL-окно (прога написана на BCB, Delphi), то надписи на нём выводятся не в дочерних окнах Static (в основном), а при помощи функции DrawText(). Если после щелчка по дочернему окну мы получили строку ";В указанном окне не найдено дочернего окна с подходящими атрибутами.", то это наш клиент. Значит настройки вписывать надо не в ShowWindow.ini, а в DrawText.ini. Соответственно, там нет характеристики "класс дочернего окна", а есть только фрагмент текста в окне, на который необходимо реагировать. См. примеры в дистрибутиве.
3. Далее в получившейся строке оставляем место под макрос замены, ставим, куда её выводить (Popup) и что с окном делать.
Quote: | Как ты себе это представляешь?
Дело в том, что ты уже разделил sm2bt на модули.
Мне кажется, что лучше в секуцию Main добавить секцию, в которой указывались бы сторонние проги. Формат такой:
Code: | [Section]
ShowWindow.ini=1,2,3,4|script.au3,script.au3,script.au3,script2.au3 |
Здесь для правил 1, 2 и 3 из ShowWindow.ini запускается скрипт script.au3, а для правила №4 - script2.au3.
Под правилами я имею ввиду характеристики окон.
Я пока не знаю, как сделать компактнее. | Была раньше нумерация правил. Сильно всем не нравилась и была неудобной. И с компактностью проблема. У меня была идея использовать какие-то операторные скобки, условия. Но я не хочу превращать SM2BT в PowerPro. И так уже всё сложно и непонятно. И с PowerPro разобраться находят в себе силы не многие.
Quote: | Почему я так упорно защищаю эту идею?
1) как минимум для меня это проще;
2) я не буду зависить от разработчиков плагинов. |
Надо долго думать и упорно писать. Мне писать. А у меня сейчас диплом. Я, конечно, могу подумать, но в скором времени ничего не обещаю. Поэтому, сейчас больше надежды на разработчиков плагинов.
Quote: | У меня есть 0.2.2. Можешь привести пример для неё? | Что там приводить? В версии 0.2.2 именно такая строка должна быть записана в SMB-файл, которую сгенерит Shooter. А подробности работы с ним описаны здесь, в ридми и где-то выше в этой теме. Если ничего не получится, скажи, какое окно ты пытаешься отловить (и что за программа). _________________ Новые версии SM2BT здесь. |
|
Back to top |
|
|
DrShark
Joined: 21 Oct 2006 Posts: 911 Location: Kyiv, Ukraine
|
(Separately) Posted: Sun Nov 04, 2007 22:04 Post subject: |
|
|
Пробовал поправленные строки и в 0.5, и в 0.2.
В 0.5 выдаёт тултип с Error level 6, 0.2 просто молчит. Не ловит окно.
Строки щас в тебе в ЛС отправлю.
Quote: | Надо долго думать и упорно писать. Мне писать. А у меня сейчас диплом. Я, конечно, могу подумать, но в скором времени ничего не обещаю. Поэтому, сейчас больше надежды на разработчиков плагинов. |
Я же наоборот хочу как проще...
Не надо превращать sm2bt в PowerPro. Надо дать возможность использовать то, что уже есть, другим программам. Это как бы альтернатива плагинам. |
|
Back to top |
|
|
GeNtlE
Joined: 16 Dec 2004 Posts: 141 Location: Россия, Чита
|
(Separately) Posted: Sun Nov 04, 2007 22:38 Post subject: |
|
|
Quote: | Надо дать возможность использовать то, что уже есть, другим программам. Это как бы альтернатива плагинам. | Я не против. И даже считаю, что это хорошо. Просто это можно реализовать, используя текущий плагиновый интерфейс. _________________ Новые версии SM2BT здесь. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|