"Захват окон" - ActiveX-компонента для 1С

03.10.09

Разработка - Разработка внешних компонент

Захватывает открытые окна и помещает их в 1С, так же получает скриншот выбранного окна.

Хотите играть в пасьянс в 1С, смотреть кино или просматривать секретные документы ;)
и не светить эти окна на рабочем столе, тогда эта компонента для Вас :)

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

Наименование Файл Версия Размер
Полная версия
.1234947992 95,33Kb
252
.1234947992 95,33Kb 252 Скачать бесплатно

*** Для работы компоненты потребуется установленный Microsoft .NET Framework 2.0, который можно скачать отсюда.

и зарегистрировать компоненту в Windows - запустить reg.bat
(для удаления информации о компоненте в Windows - запустить unreg.bat)
или использовать совместно с хранилищем внешних компонент: //infostart.ru/projects/2863/

В архиве приложены примеры для 7.7 и 8.1

*** Добавление на форму 1С:

v7: Использовать 1С++:

Перем ЗахватОкон;
Процедура ПослеОткрытия() ЗахватОкон = СоздатьОбъект("АктивИкс"); 
    ЗахватОкон.УстановитьАтрибут(Форма, "АктХ"); 
    //"АктХ" - идентификатор элемента диалога, на месте которого будет создан элемент ActiveX. 
//только для реквизитов диалога типа "Текст".
ЗахватОкон.СоздатьЭУ("Душелов.WinHost1C"); ЗахватОкон.УстановитьФокус(); КонецПроцедуры


v8: Меню "Форма" - "Вставить ActiveX..." - Выбрать элемент "Душелов.WinHost1C"

*** Методы:

//ВОССТАНОВИТЬ ВСЕ ЗАХВАЧЕННЫЕ ОКНА:
 
   ВосстановитьОкна();

//ПОЛУЧИТЬ СПИСОК ОТКРЫТЫХ ОКОН (Массив):

   ПолучитьСписокОткрытыхОкон(Фильтр); //фильтр - строка для фильтрации в заголовке 
   //возвращает в виде строки: Заголовок окнаИдентификатор процессаПуть к exe-файлу процесса 

//ПОЛУЧИТЬ СПИСОК ОТКРЫТЫХ ОКОН (Строка с разделителями): 

   ПолучитьСписокОткрытыхОконСтрокой(Фильтр); //фильтр - строка для фильтрации в заголовке 
   //возвращает в виде строки: Заголовок окнаИдентификатор процессаПуть к exe-файлу процесса 

//ЗАХВАТИТЬ ОТКРЫТОЕ ОКНО: 

   ЗахватитьОкно(ЗаголовокОкна);
   ЗахватитьОкноПоPID(PID);

//СКРИНШОТ ОКНА: Скриншот(ЗаголовокОкна, ПутьКФайлу);

   СкриншотПоPID(PID, ПутьКФайлу);

//МЕНЮ:
  
   ПоказатьМеню();
   СкрытьМеню();

//АКТИВАЦИЯ ОКНА:

   АктивироватьОкно(ЗаголовокОкна);
   АктивироватьОкноПоPID(PID);

//ЗАКРЫТЬ ОКНО:

   ЗакрытьОкно(ЗаголовокОкна);
   ЗакрытьОкноПоPID(PID);

//ВОССТАНОВИТЬ ОКНО:

   ВосстановитьОкно(ЗаголовокОкна);
   ВосстановитьОкноПоPID(PID);

См. также

HTTP сервер 1С 7.7 + HTTP асинхронный клиент: внешние компоненты для 1С 7.7

Разработка внешних компонент WEB-интеграция Платформа 1С v7.7 Конфигурации 1cv7 Платные (руб)

Компонента HttpSrv7 позволяет создавать веб-сервисы в среде 1С 7.7 и даже, используя файлы HTML, несложные веб-сайты. С помощью нее можно обеспечить доступ к данным 1С 7.7 из браузера. Дополнительно используя компоненту HTTP_Async или синхронный клиент HTTP для 1С 7.7 (публикация № 1152364) можно наладить обмен данными между удаленными информационными базами. С помощью компоненты HTTP_Async можно параллельно посылать много запросов к сайтам, веб-сервисам (в т.ч. к HttpSrv7), а затем обрабатывать данные по мере их поступления.

2000 руб.

27.05.2022    7811    20    13    

31

1С:Фото номенклатуры 7.7 - решение для работы с фотографиями номенклатуры в 1С:7.7 (включая формат PNG)

Работа с интерфейсом Логистика, склад и ТМЦ Платформа 1С v7.7 1С:Торговля и склад 7.7 Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Решение для разработчика и конечного пользователя для работы с фотографиями номенклатуры: систематизация, хранение, отображение, а также выгрузка на Яндекс-Диск и FTP (кроме версии лайт). Поддерживаются графические форматы: bmp, jpg, gif, tiff, а также png - не поддерживаемый штатными средствами 1С. Выполнено без использования внешних компонент (кроме функции выгрузки на FTP). Поставляется как в виде пустой конфигурации с набором объектов и модулей для работы с фото, так и в виде обновления к 1С:Торговля и склад 7.7. Выполнено в двух версиях: "полная" и "лайт".

5000 руб.

18.10.2022    5161    1    45    

3

Компонента ExchangeStruc (Структура Обмена). Прямой обмен данными между потоками, сессиями и окнами.

Разработка внешних компонент Платформа 1С v7.7 Платформа 1С v8.3 Платформа 1C v8.2 Платформа 1С v8.1 Россия Платные (руб)

Аддон "Структура Обмена" (ExchangeStruc) - это компонента, которая обеспечивает доступ к разделяемым процессом структурам, аналогичным структурам 1С. Обеспечивает прозрачную передачу данных примитивных типов, в том числе Двоичных данных, в режиме Реального времени между разными контекстами (формами) или потоками одного процесса. В перспективе функционал будет расширен для обмена между процессами, даже разных версий платформ. Совместим с версиями Windows рабочих станций и серверов, с платформами 1С разных версий и релизов в режиме Native начиная с 8.2, и в режиме COM начиная с версий 7.7. По скорости чтения и записи лишь немногим уступает стандартной структуре 1С. НОВОЕ: Добавлен функционал регистрации компоненты COM в качестве OLE Auto (COMОбъект) для поддержки её работы в серверах старых версий 1С: 8.0 и 8.1, где работа с компонентами исключена. Теперь можно коммуникацию с Фоновыми заданиями на этих версиях проводить.

7200 руб.

19.04.2023    4799    1    0    

3

Выбор из большого списка (для 1С 7.7)

Разработка внешних компонент Платформа 1С v7.7 Платные (руб)

Компонента для выбора значения из больших списков значений.

1200 руб.

02.12.2021    5777    2    19    

4

Клиент HTTP(S): внешняя компонента для 1С 7.7

Разработка внешних компонент WEB-интеграция Платформа 1С v7.7 Абонемент ($m)

Компонента позволяет использовать различные веб-сервисы интернет-ресурсов, например работать с онлайн-кассой через API, предоставленное ее разработчиком. Тестировалась на платформе 1С релиза 7.70.027.

1 стартмани

14.11.2019    18142    88    mdbruyfn    82    

15

Компонента для 1С, принимающая вес с железнодорожных, автомобильных, крановых весов

Разработка внешних компонент Платформа 1С v7.7 Платформа 1С v8.3 Транспорт, автопарки, такси Россия Платные (руб)

Программа "Компонента приёма веса для 1С, версия 3.0" позволяет принимать и заносить вес с весов непосредственно в программу "1С" - то есть, прием веса осуществляется целиком и полностью из программы "1С".

26400 руб.

09.04.2019    16062    2    8    

5

Оболочка для работы с последними драйверами ККМ АТОЛ для 1С 7.7, 8.1

Разработка внешних компонент ККМ Кассовые операции Оперативный учет 7.7 1С:Торговля и склад 7.7 Абонемент ($m)

Внешняя компонента - оболочка для работы в среде 1С 7.7 или 1С 8.1 с последними версиями драйверов ККМ от АТОЛ. Поддерживаются драйвера x32 начиная с версии 9.11. Присутствует внешняя обработка для полноценной работы с данными драйверами (поддержка ревизий 2.0, 2.1, 2.2, поддержка протокола ОФД 1.0, 1.0.5, 1.1).

1 стартмани

09.08.2017    53678    348    asdfghgghjdhg    141    

18
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Душелов 4013 20.11.08 14:27 Сейчас в теме
Вообщем, режим "АнтиБосс" ;)
2. coder1cv8 3468 20.11.08 14:35 Сейчас в теме
Прикольно! Но бесполезно... )
А можешь сделать ВК что-бы она выбранное окно принтскринила?... )
3. Душелов 4013 20.11.08 14:38 Сейчас в теме
(2) Ну почему же бесполезно? Я на позапрошлом месте работы использовал аналог для сокрытия оперы, а то когда подходили к компу - много чего левого можно было в заголовках окон увидеть ;)))

Ну запринтскринить -то можно, если оно открыто, а если закрыто другим приложением, тогда врядли....
4. coder1cv8 3468 20.11.08 14:44 Сейчас в теме
(3) В смысле принтскринить в файл, пофиг, с активизацией окна!...
Типа так:
ВК.ПринтскринВФайл(ПИДПроцессаОкна, ПутьКФайлу)
Но это я так, мечтаю... Кроме плюса предложить нечего )
А со всякими существующими длл-ками, типа V7ICQ.dll у меня лично, проблемы...
5. Душелов 4013 20.11.08 17:16 Сейчас в теме
(4) Да в целом можно.... Так же по заголовку, активировать его, определить координаты и запринскринить выбранный диапазон.
10. Hadgehogs 489 23.11.08 00:58 Сейчас в теме
(4) Чего, Нетленку уже отменили?
coder1cv8; +1 Ответить
11. Душелов 4013 23.11.08 01:13 Сейчас в теме
6. luns 20.11.08 18:26 Сейчас в теме
(0) Ай молодец, сколько интересных идей...
7. CheBurator 3119 20.11.08 18:34 Сейчас в теме
Душелов жжот!
+1
.. а закладочки в 7-ке тоже будут?
.. чат - дорабатывается?
8. Душелов 4013 20.11.08 18:37 Сейчас в теме
(7) С чатом пока взял перерыв... То, на практике его использовал, а чисто теоретически дорабатывать - не интересно...
Скрин 7.7 сейчас сделаю и выложу.
9. Душелов 4013 20.11.08 18:54 Сейчас в теме
(7) Добавил скрин из 7-ки
12. Душелов 4013 23.11.08 01:54 Сейчас в теме
Добавил функцию получения скриншота. Пока в таком виде...
coder1cv8; +1 Ответить
13. coder1cv8 3468 23.11.08 08:08 Сейчас в теме
(12) Спасибо. Но, лично мне, по PID-у нужно... )
(10) Будем смотреть! )
14. Душелов 4013 23.11.08 13:13 Сейчас в теме
(13) Добавил:
- Получение списка открытых окон - возвращает в виде строки: <title>Заголовок окна</title><pid>Идентификатор процесса</pid><path>Путь к exe-файлу процесса</path>
- ЗахватитьОкноПоPID(PID);
- СкриншотПоPID(PID, ПутьКФайлу);
coder1cv8; +1 Ответить
15. coder1cv8 3468 23.11.08 13:22 Сейчас в теме
(14) Класс! Спасибо огромное!!!
16. Душелов 4013 23.11.08 13:27 Сейчас в теме
(15) Единственное, с чем я не стал заморачиваться - когда окон развернутое на весь экран, я просто делаю полный скриншот, не вычисляю размер окна.
17. skom 74 25.11.08 13:26 Сейчас в теме
)))) вот это прикол под конец раб дня.....
Антибосс))
клева...
тока скачал. сегодня присоединить уже не успею. завтра побалуюсь.
но идейка зачет
19. skom 74 25.11.08 13:26 Сейчас в теме
сорри за дубль...два раза даванул. модеры - убейте дубль и этот мессаг плиз
20. cleaner_it 220 28.11.08 10:43 Сейчас в теме
Когда располагаю на другом в закладке - фокус не устанавливается. Хотя окно "живое" - то есть отображаются все действия. А мышкой тыкнуть не моги. Еще помучаюсь, может у меня косяк
21. cleaner_it 220 28.11.08 10:44 Сейчас в теме
(20) на другом слое, конечно. в 7.7
25. Душелов 4013 09.12.08 11:19 Сейчас в теме
(20) что 7-ка, что 8-ка таким образом перехватывают окна, так что победить эту проблему не могу. На других платформах этой проблемы нет.
22. Душелов 4013 28.11.08 10:55 Сейчас в теме
(20-21) Ок, сейчас при себе исходников нет, дома посмотрю. Проблему воспроизвел.
23. Froloid 66 05.12.08 00:34 Сейчас в теме
Добрался наконец-то до нужной странички. Душелову однозначно +
24. Душелов 4013 05.12.08 00:35 Сейчас в теме
26. HotShot 2 15.12.08 09:57 Сейчас в теме
Очень удобная компонента. Каким методом можно автоматически перейти на вновь захваченное окно?
27. Душелов 4013 15.12.08 09:58 Сейчас в теме
(26) Т.е. активировать нужную закладку?
29. Solemn 15.12.08 10:04 Сейчас в теме
(27) ага, и мне тож это нужно очень
28. HotShot 2 15.12.08 10:04 Сейчас в теме
Необходимо автоматически активировать закладку с захваченным окном... и скрыть закладку меню, что бы не вводить пользователя в заблуждение.
30. Душелов 4013 15.12.08 11:00 Сейчас в теме
Добавлено:

Код
//МЕНЮ:
  
   ПоказатьМеню();
   СкрытьМеню();

//АКТИВАЦИЯ ОКНА:

   АктивироватьОкно(ЗаголовокОкна);
   АктивироватьОкноПоPID(PID);
Показать полностью
31. HotShot 2 15.12.08 11:05 Сейчас в теме
Спасибо... Буду пробовать.
32. Solemn 15.12.08 11:15 Сейчас в теме
33. HotShot 2 16.12.08 11:10 Сейчас в теме
Добрый день.
Дополнительные методы сильно упростили задачу разработки.
Однако, встала проблема программного закрытия приложения... Возможно ли интегрировать метод закрытия захваченного приложения по PID?
34. Душелов 4013 16.12.08 11:16 Сейчас в теме
Спасибо в стакан не нальешь ;)

(33) Сейчас напишу метод закрытия окна с восстановлением или без.
35. Душелов 4013 16.12.08 11:48 Сейчас в теме
Написать-то написал... Вот только обновить разработку не могу... :(
36. Душелов 4013 16.12.08 11:59 Сейчас в теме
Добавлено:

Код
//ЗАКРЫТЬ ОКНО:

   ЗакрытьОкно(ЗаголовокОкна);
   ЗакрытьОкноПоPID(PID);

//ВОССТАНОВИТЬ ОКНО:

   ВосстановитьОкно(ЗаголовокОкна);
   ВосстановитьОкноПоPID(PID);
Показать полностью


Скачать пока тут: http://dushelov.ru/1c/WinHost.zip
37. trdm 23.01.09 17:46 Сейчас в теме
А можно на каком-нить менее ресурсоемком фраймверке сделать?
А то не очень хочется на серваке фраймверки городить?
Или хоть подсказку какую для имплементации?
38. Душелов 4013 26.01.09 12:06 Сейчас в теме
(37) > можно на каком-нить менее ресурсоемком фраймверке сделать?
На каком?
39. trdm 26.01.09 14:04 Сейчас в теме
(37)>> можно на каком-нить менее ресурсоемком фраймверке сделать?
(38)>На каком?
WTL/ATL например?
40. trdm 26.01.09 14:04 Сейчас в теме
Хоть они и не фраймверки :)
41. Душелов 4013 13.02.09 19:34 Сейчас в теме
Для получения демо-версии или покупки обращайтесь по контактам, указанным в профиле.
42. Душелов 4013 18.06.09 17:53 Сейчас в теме
Снова в бесплатном доступе :)
43. liooo 04.08.09 01:34 Сейчас в теме
Как определить программно что приложение захвачено компонентой???
45. Душелов 4013 04.08.09 11:03 Сейчас в теме
(43) Храните список захваченых приложений.

(44) :) иногда надо скрывать лишние окна ;)
44. Abadonna 3958 04.08.09 03:15 Сейчас в теме
(0)"Хотите играть в пасьянс в 1С, смотреть кино или просматривать секретные документы ;)"
Вась, а что, пасьянс внутри 1С пасьянистее становится? ;))))
Как проггер понимаю, как юзер - на ... оно надо?
46. Abadonna 3958 04.08.09 11:53 Сейчас в теме
Стал быть примерно так?:
procedure TMiracleClass.CaptureAimp;
var wnd:hwnd;
begin
wnd:=FindWindow('TAIMP2Main',nil);
if isWindow(wnd) then begin
SetParent(wnd,h1C);
end;
end;
Могу приватно подарить коды WM_COMMAND для управления Aimp прям из 1С ;)
Для особых извращенцев :)))))))))
55. liooo 06.08.09 01:54 Сейчас в теме
Abadonna
(46) подари коды WM_COMMAND для управления Aimp прям из 1С
47. liooo 04.08.09 12:24 Сейчас в теме
Abadonna
Я такой извращенец, а точнее руководство!!! Необходимо запустить эту прогу http://www.thebrain.com/ на форме списка справочника и показать графические связи элементов, а потом изменить данные в 1С, если изменили связи в этой приблуде, так что коды WM_COMMAND для управления Aimp -- это для меня ;)
dushelov
У меня нет списка захваченных, я запускаю приложение и пытаюсь его захватить, но захват отрабатывает до открытия этой проги, поэтому надо организовать цикл проверки захвата, а ни один метод по захвату не возвращает никакого значения
48. Душелов 4013 04.08.09 12:28 Сейчас в теме
А что он должен возвращать?
50. Abadonna 3958 04.08.09 14:20 Сейчас в теме
(48)>А что он должен возвращать?
По уму - хэндл ;)))))
51. Душелов 4013 04.08.09 14:29 Сейчас в теме
(50) Скорее ПИД, хэндл для 1С-ы не нужен.
52. Abadonna 3958 04.08.09 14:34 Сейчас в теме
(51) Зато его наличие гарантирует, что захват произошел.
А на хрена 1С-е PID? Мочить при выходе?
53. Душелов 4013 04.08.09 14:35 Сейчас в теме
(52) У меня методы есть, которые по пиду работают ;)
54. Abadonna 3958 04.08.09 14:36 Сейчас в теме
(53) Хэндл ВСЕГДА PID даст, а вот по PIDу хэндл - сложнее ;)))
49. liooo 04.08.09 12:57 Сейчас в теме
решил все циклом с получением списка запущенных и нахождением в списке нужного, спасибо
56. cool.vlad4 2 10.02.11 14:08 Сейчас в теме
(0) Вопрос возник...как это все работает не разбирался...хочется сделать следующую штуку - надоело работать с консолью кода без подсказок. Возникла мысль сделать захват конфигуратора, затем перехват кода, текста и передача в консоль. Поможет ли мне эта ActiveX?
57. yoyoman 16.03.12 10:00 Сейчас в теме
У меня зависает при использовании нескольких вкладок. Если на второй вкладке добавить этот элемент управления, сделать захват. И переключиться на первую вкладку - все вылетает :(
58. DimaP 63 14.08.12 16:05 Сейчас в теме
А можно-ли этой компонентой ловить окна внутри самой 1С?
Например, стандартные формочки (список значений, ввод значения и т.д.)
59. alyuev 202 17.12.12 20:03 Сейчас в теме
Вопрос. Как сделать открытие приложения внутри самой 1С? Запомнить ПИДы запущенных приложений до запуска нужного и после запуска найти новое открытое?
60. alyuev 202 01.04.13 18:37 Сейчас в теме
Я воспользовался твоей компонентой захвата окон - захватываю по имени файла. Работает отлично. Но не могу найти свойство закрытия вкладки програмно. Буду очень признателен за помощь. Спасибо.
61. smaharbA 01.04.13 19:08 Сейчас в теме
мальчоник если чо эта фигня реализовывается и без вк
62. alyuev 202 01.04.13 23:21 Сейчас в теме
(61) Сотрясение воздуха не приветствуется, а конструктив - да.
63. dagroma 116 29.07.16 21:27 Сейчас в теме
А кто-нибудь может поделиться последней версией компоненты?
64. Alex_Legacy 29.09.17 11:15 Сейчас в теме
Мало с какими окнами работает
65. leha1904 15.02.18 12:04 Сейчас в теме
Добрый день. У кого-нибудь есть последняя версия компоненты? Заранее премного благодарен.
Почта - pohomoff@mail.ru
66. user1375266 20.01.23 14:59 Сейчас в теме
Как установить компоненту
Оставьте свое сообщение