Вход | Регистрация

1С:Предприятие ::

Метки: 

Активация окна в режиме OLE Automation

Я
   U_KA
 
14.02.18 - 08:22
Добрый день!
Решаемая задача:
    Есть консолидация, переведена на упр формы, заведены пользователи. Есть РИБы этих пользователей (около 50), в которых пользователи должны запускать обмены. РИБы на обычных формах. Необходимо закрыть доступ в РИБы, за исключением возможности запускать обмен.
    Вносить изменения в РИБы нет возможности (существующих ролей недостаточно полностью закрыть доступ), соответственно было решено открыть формы обменов напрямую из консолидации, при помощи технологии OLE Automation.
    При этом свойство Visible установлено в значение Ложь, чтобы не было возможности открыть другие формы.
Все срабатывает корректно, за исключением активации открываемого окна. Активация окна не срабатывает, приходится использоваться alt+tab, что неудобно.
Что было проверенно:
    1) Используется метод ОткрытьФормуМодально, т.к. ОткрытьФорму не показывает форму
    2) Создание обработки, в которой создана форма обмена, обработка подключается как внешняя. Создается и открывается в РИБе, при этом:
        а) Добавление на форму обработки html документа и его активация
        б) Использование активации окна методом "Активировать" при открытии формы обработки
        в) Использование активации окна с помощью Shell при открытии формы обработки
            Shell = Новый COMОбъект("WScript.Shell");
            Shell.AppActivate(ПолучитьЗаголовокСистемы());
В результате все равно окно не выходит на первый план. Кто встречался с таким, подскажите, как все-таки активировать данное окно?
 
 
   Сияющий в темноте
 
1 - 14.02.18 - 08:56
в современных Windows,чьобы активировать окно другого процесса или потока,нужно подключиться к его потоку ввода,тогда команда активации отработает
   U_KA
 
2 - 14.02.18 - 09:48
(1) есть примеры подключения к потоку ввода?
   Йохохо
 
3 - 14.02.18 - 09:50
(2) попробуй на аутоит сделать, в принципе работает без инсталяции, в папку экзешник и скрипт


Список тем форума
Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует