ConfStat

Опубликовал Андрей Кузнецов (a.kuznetsov) в раздел Программирование - Практика программирования

Иногда бывает полезно посмотреть строку состояния, когда конфигуратор не может ее отобразить))
Реализация: При помощи хука вешает к процессу dll-ку, которая ловит WM_SETTEXT для строки состояния.

Скачать файлы

Наименование Файл Версия Размер
ConfStat v1.0.0.5
.1172155234 15,70Kb
25.09.09
416
.1172155234 15,70Kb 416 Бесплатно

См. также

Комментарии
1. Аркадий Кучер (Abadonna) 3659 21.02.07 14:56 Сейчас в теме
А я вытащил в Форматтер-Переводчик ;)
2. Дмитрий (metaeditor) 915 21.02.07 15:29 Сейчас в теме
поставте совместимость с Win 2000
3. Дмитрий (metaeditor) 915 21.02.07 15:39 Сейчас в теме
а для лога перехватывать ?DoMessageLine@CBkEndUI@@UAEXPBDW4MessageMarker@@@Z
4. Валерий (VV) 21.02.07 14:51 Сейчас в теме
>>Прикинь такую ситуацию - запустил я уходя с работы чего-нибудь в Конфигураторе, а утром мне вдруг захотелось посмотреть, что он там сообщал
Автор, сделай, нужная штука!
5. Андрей Кузнецов (a.kuznetsov) 97 21.02.07 14:54 Сейчас в теме
За +1 спс, лог сделаю.
На счет окна сообщений думал, но пока не нашел способа вытащить от туда строки. Дело в том, что строки в окно добовляются не с помощью API, а какими-то внутренними средствами, поэтому это отследить не просто), по свободе времени подумаю
6. Валерий (VV) 21.02.07 12:52 Сейчас в теме
Полезная штука, но непонятно - куда ее класть, или просто запустить и все?
7. AntonRost (antonrost) 21.02.07 13:03 Сейчас в теме
Просто запустить, и в появившемся окне выбрать нужный конфигуратор (из запущенных).
8. Валерий (VV) 21.02.07 13:31 Сейчас в теме
Угу, разобрался. Сделал в ГМ движение - поставил пробел и стер его. Сохранить - о чудо - в окошке все красиво. А потом - конфигуратор уже все сохранил, а в окошке - "Сохранение данных...". Так и не обновилось. Или отлавливает только события, а выход из них - нет?
9. Андрей Кузнецов (a.kuznetsov) 97 21.02.07 14:07 Сейчас в теме
DLL-ка подменяет оконную процедуру для строки состояния, в которой ловит все сообщения WM_SETTEXT, как только в строке состояния появляется новый текст он тут же отражается и в окошке
10. Аркадий Кучер (Abadonna) 3659 21.02.07 14:11 Сейчас в теме
Люблю, когда hook, поэтому +1 ;)
Не совсем понял зачем ловить строку состояния, если она в 99.99% кажет
"Для получения подсказки нажмите F1".
И желательно результат не Edit выводить, а в Memo добавлением туда строчек, а то Stat как раз и не получается, всегда последнее светится.
А вот приделал бы еще и текст в окне сообщений Конфигуратора - было круто!
11. AntonRost (antonrost) 21.02.07 14:18 Сейчас в теме
Наверное, никогда не делал реструктуризацию или тест/испр в больших базах? В этом случае, если окно конфигуратора потеряло фокус, строка состояния перестает обновляться.
12. Аркадий Кучер (Abadonna) 3659 21.02.07 14:25 Сейчас в теме
Исправления в базах не делал ввиду того, что не доводил базы до необходимости их исправления средствами 1С. На крайняк еще Enterprise Manager есть.
А без истории строки состояния ценность разработки снижается
13. Андрей Кузнецов (a.kuznetsov) 97 21.02.07 14:31 Сейчас в теме
Строку состояния - потому что у конфигуратора семерки есть неприятная черта - если при выполнении им какой-то задачи окно теряет фокус, то оно перестает обновлятся и невидно чем он щас занят. А на счет мемо смысла нет, как раз только текущее состояние и нужно видить, и представь, глянув на изображение, сколько строчек бы было в мемо))
14. Валерий (VV) 21.02.07 14:35 Сейчас в теме
Ни фига не снижается ценность. И не обязательно "доводить базу" до чего-то, достаточно в спр.Номенклатура, в котором 30 000 элементов добавить новый реквизит и нажать "Сохранить".
Но монитор окна сообщений - не помешала бы!
15. Аркадий Кучер (Abadonna) 3659 21.02.07 14:36 Сейчас в теме
>сколько строчек бы было в мемо))
А ты выводи последнюю всегда вверх, тогда текущее будет видно сразу, а при желании можно
и другие посмотреть. А можно еще писать в лог-файл, добавляя время.
Прикинь такую ситуацию - запустил я уходя с работы чего-нибудь в Конфигураторе, а утром мне вдруг захотелось посмотреть, что он там сообщал. Проблем-то приделать уже никаких, как мне кажется...
16. Аркадий Кучер (Abadonna) 3659 21.02.07 14:47 Сейчас в теме
>Ни фига не снижается ценность
Я ж не сказал, что обработка НЕ ценная, и +1 поставил.
Просто с логом еще ценнее бы была
17. Аркадий Кучер (Abadonna) 3659 21.02.07 16:29 Сейчас в теме
Похоже, что в окно сообщений посылается
WM_SETMESSAGESTRING
LParam - Pointer to string
18. Андрей Кузнецов (a.kuznetsov) 97 21.02.07 16:31 Сейчас в теме
19. Андрей Кузнецов (a.kuznetsov) 97 21.02.07 16:34 Сейчас в теме
На счет DoMessageLine, я пока знаю только один способ перехвата вызова функции DLL - это подмена этой функции в DLL. А этого не хотелось бы делать.
20. oding 22.02.07 08:39 Сейчас в теме
ващето есть перехватылвалка окна сообщений, 1spy.dll ее зовут.
21. йцук 22.02.07 14:32 Сейчас в теме
не понял, выдает только заголовок окна, а где строка состояния?? (при объединении и переиндексации)
22. AntonRost (antonrost) 22.02.07 14:45 Сейчас в теме
Это список открытых конфигураторов. Надо выделить нужный.
23. Андрей Кузнецов (a.kuznetsov) 97 22.02.07 15:16 Сейчас в теме
Обнаружен небольшой баг - если открыть конфигуратор после запуска программы, то через небольшой промежуток времени перестает обновляться информация о строке состояния. В ближайшее время баг будет исправлен, а пока рекомендуется запускать утилитку после запуска конфигуратора!
24. Андрей Кузнецов (a.kuznetsov) 97 22.02.07 17:41 Сейчас в теме
Баг с обновлением информации о строке состояния исправлен v1.0.0.2
25. VasilyKushnir (vasilykushnir) 26.02.07 12:20 Сейчас в теме
26. Андрей Кузнецов (a.kuznetsov) 97 06.06.07 14:19 Сейчас в теме
v1.0.0.3 Добавлена возможность перехватывать строку статуса в режиме 1С:Предприятие, а также перехватывать стартовое (SPLASH_WINDOW) окно при запуске 1С.
27. Владислав Чинючин (vcv) 83 07.06.07 06:11 Сейчас в теме
А можно что-то сделать, что бы эта программа работала и для патченной 1С, у которой убрано "1С:Предприятие" из заголовка окна?
28. vikM (vikm) 07.06.07 09:20 Сейчас в теме
29. Андрей Кузнецов (a.kuznetsov) 97 07.06.07 10:39 Сейчас в теме
v1.0.0.4 Добавлена возможность перехвата окон, в заголовке которых нет слов «Конфигуратор» и «1С:Предприятие». Временно заблокирована возможность перехвата текста из стартового окна 1С, но вывод заголовка этого окна в список окон остался.
30. Валерий (VV) 07.06.07 11:13 Сейчас в теме
31. Андрей Кузнецов (a.kuznetsov) 97 07.06.07 12:15 Сейчас в теме
Нет, не вижу смысла, да и у Абадонны есть с логом)
32. Владислав Чинючин (vcv) 83 08.06.07 05:56 Сейчас в теме
>>> v1.0.0.4 Добавлена возможность перехвата окон, в заголовке которых нет слов «Конфигуратор» и «1С:Предприятие».
Спасибо. А можно еще пожелать возможность закрепления окна "поверх всех"? И окно можно было бы изменяемого размера сделать.
33. Андрей Кузнецов (a.kuznetsov) 97 08.06.07 07:52 Сейчас в теме
Сделал поверх всех окон.
34. kitt al;dskjf;ldasjkf (kitt) 319 10.09.08 16:58 Сейчас в теме
почему то не работает в режиме Предприятия((
ВинХР, платформа 26
35. Андрей Кузнецов (a.kuznetsov) 97 10.09.08 17:07 Сейчас в теме
Только что проверил, на 26 работает.
Поконкретнее пожалуйста...
36. Алексей Плутенко (Noy) 1054 20.11.08 10:05 Сейчас в теме
Полезнейшая вешь. и как это я ее пропустил...
37. eremin (mybracho) 11.10.11 17:29 Сейчас в теме
Крутейшая вещь. Пользуюсь полгода, мне полегчало

Но.... вот только что запустил загрузку бэкапов за три даты(Выгрузки по 150мегабайт). И при одновременной загрузке этих трех баз, молчит ConfStat
38. kaa79 9 29.12.11 13:24 Сейчас в теме
Спасибо большое, очень полезная вещь при тестировании и исправлении больших баз на 7.7
39. pavel kuzmichev (p_kuzmichev) 5 18.09.13 15:10 Сейчас в теме
Чего то не с первого раза, но заработала. Спасибо, очень пригодилась при выполнении ТиИ перед переходом.
40. Склонный Павел (Musics) 15.02.16 12:36 Сейчас в теме
Скачивается версия 1.0.0.4 (