Создаю объект RDP, заполняю поля, выполняю соединение... ошибок нет, а вот само окно RDP не отображается. Для Excel справедливо ExcelComОбъект.Visible = Истина, для MsTscAx такого поля нет. Чего не хватает в коде ниже?

```1c
    RDP = Новый COMОбъект("MsTscAx.MsTscAx.3");
    RDP.Server = Объект.Наименование;
    RDP.AdvancedSettings.RDPPort = 3389;
    RDP.Domain = ПолучитьДоменПользователя(Объект.Пользователи[0].Пользователь);
    RDP.UserName = ПолучитьИмяПользователя(Объект.Пользователи[0].Пользователь);
    RDP.FullScreen = Истина;
    RDP.AdvancedSettings.ClearTextPassword = ПолучитьПарольПользователя(Объект.Пользователи[0].Пользователь);
    Попытка
    RDP.Connect();
    Исключение
    Сообщить(ОписаниеОшибки());
    КонецПопытки;
```
---
insurgut, так может этот метод для не модального режима?

В спецификации посмотрите, должно быть что-то.
---
insurgut, так может этот метод для не модального режима?

В спецификации посмотрите, должно быть что-то.
---
Xershi, а модально открыть его вообще реально через создание COM-объекта? Или мудрить со вставкой ActivX объекта на управляемую форму?

P.S. Простой запуск mstsc не подходит из-за отсутствия возможности задать логин и пароль.
---
insurgut, так а не проще создать ярлык для рдп и запустить его?

Так под рдп я наверно и подразумевал удаленный рабочий стол, вот в нем и есть графическая часть с окном, а то что вы запустили наверно это не предполагает.
---
Xershi, для моей задачи это не подходит (что-то вроде общей базы для it-саппорта внутри организации). Видимо ты прав, нигде не нахожу рабочего кода запуска через COM-объект (хотя и объект создается в принципе, сделать с ним ничего не получается).

Будем мудрить в ActivX, правда не понятно как его на управляемую форму положить.
---
Еще уточню, RDP.Connect() хоть и происходит без ошибок, по факту ничего не происходит.
---
Сделал по аналогии с WMP... Разместил на форме поле (тип Строка неограниченной длины), вид - HTML документ. Далее...

```1c
    ДокументHTML = "<HT ML><OB JECT id=RDP classid=CLSID:3523c2fb-4031-44e4-9a3b-f1e94986ee7f width="100%" height="100%"><PARAM NAME="Server" VALUE=""><PARAM NAME="Domain" VALUE=""><PARAM NAME="UserName" VALUE=""></HTML>";
    ЭлементВК = Элементы.ДокументHTML.Документ.getElementById("RDP");
    RDP = ЭлементВК.RDP;
    RDP.Server = Объект.Наименование;
    RDP.Domain = ПолучитьДоменПользователя(Объект.Пользователи[0].Пользователь);
    RDP.UserName = ПолучитьИмяПользователя(Объект.Пользователи[0].Пользователь);
    RDP.AdvancedSettings.ClearTextPassword = ПолучитьПарольПользователя(Объект.Пользователи[0].Пользователь);
    Попытка
    RDP.Connect();
    Исключение
    Сообщить(ОписаниеОшибки());
    КонецПопытки;
```

Вываливается с ошибкой, т.к. ЭлементВК = Неопределено :( Как победить? Применять обычные формы крайне не хочется.
---
Вроде сдвинулся, во-первых HTML нужно заполнить и показать до выполнения манипуляций с COMобъектом, расположенным в поле HTML документа.

Например при открытии формы:

```1c
    ДокументHTML = "<HT ML><OB JECT id=RDP classid=CLSID:3523c2fb-4031-44e4-9a3b-f1e94986ee7f width='100%' height='100%'></HTML>"; //RDP
```

Но тут наступил на очередные грабли, если с WMP все ОК, им можно управлять посылая команды, то тут натыкаюсь на ошибку:

```1c
    {Справочник.РабочиеМеста.Форма.ФормаЭлемента.Форма(447)}: Ошибка при получении значения атрибута контекста (contentDocument)
    RDP = ЭлементВК.contentDocument;
    по причине:
    Произошла исключительная ситуация (htmlfile): Отказано в доступе.
```

Сам код подключения такой:

```1c
    ЭлементВК = Элементы.ДокументHTML.Документ.getElementById("RDP");
    RDP = ЭлементВК.contentDocument; //тут с WMP все ок, а вот с RDP ошибка Отказано в доступе :(
    RDP.Server = Объект.Наименование;
    RDP.AdvancedSettings.RDPPort = 3389;
    RDP.StartConnected = True;
    RDP.AdvancedSettings2.RedirectDrives = False;
    RDP.AdvancedSettings2.RedirectPrinters = False;
    RDP.AdvancedSettings2.RedirectPorts = False;
    RDP.AdvancedSettings2.RedirectSmartCards = False;
    RDP.Domain = ПолучитьДоменПользователя(Объект.Пользователи[0].Пользователь);
    RDP.UserName = ПолучитьИмяПользователя(Объект.Пользователи[0].Пользователь);
    RDP.AdvancedSettings.ClearTextPassword = ПолучитьПарольПользователя(Объект.Пользователи[0].Пользователь);
    Попытка
    RDP.Connect();
    Исключение
    Сообщить(ОписаниеОшибки());
    КонецПопытки;
```
---
Добавил вознаграждение, очень надо заставить работать на управляемых формах эту штуку без граблей в виде разрешения работы с обычными формами в управляемом приложении.
---
Так, решение проблемы: открываем IE - Свойства браузера - Безопасность. Для зоны Интернет нажимаем Другой... и почти в самом низу нужно переключить для настройки "Использование элементов управления ActiveX, не помеченных как безопасные для использования (небезопасно)" в положение Включить (небезопасно).

Вознаграждение тому, кто подскажет, как заставить работать RDP на форме HTML документа без изменения этой настройки (это необходимо потому, что IE всячески ругается при запуске, что его работа - небезопасна). Т.е. либо как пометить элемент управления ActiveX, используемый для RDP в качестве безопасного, либо как сделать так, чтобы загружаемая страница обрабатывалась по правилам другой зоны (Местная интрасеть или Надежные сайты). В последнем случае пробовал BaseHref (вид ее: e1c://filev/S/work/Разработка/Корпоративная сеть/) добавить в список надежных сайтов, IE ругается на формат - ему только HTTP(S) и FTP подавай.
---
Ага, если в надежные сайты добавить about:blank, и для надежных сайтов разрешить использование небезопасных - то все замечательно работает и IE не ругается о нарушении безопасности. Итого остается

1. Можно ли как-то пометить компонент ActiveX как безопасный?
или
2. Можно ли программно (через реестр например) занести сайт в список надежных и изменить настройку Использование элементов управления ActiveX, не помеченных как безопасные для использования?
---
Как программно (через реестр) снять галку "Для всех сайтов этой зоны требуется проверка серверов (https:)" и как добавить about:blank в список надежных разобрался.
---
Насколько я понял пометить в качестве безопасного так просто не получится (очень надеюсь, что ошибаюсь - решило бы кучу проблем). Осталось добраться по параметра:
Использование элементов управления ActiveX, не помеченных как безопасные для использования через реестр - реально?
---
И тут разобрался. Вот окончательный вид reg-файла:

REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\2]
"CurrentLevel"=dword:00000000
"Flags"=dword:00000043
"1201"=dword:00000000
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\blank]
"about"=dword:00000002

Что он делает.
1. Изменяет уровень безопасности для зоны Надежные сайты на Особый (заданный вручную)
2. Снимает галочку Для всех сайтов этой зоны требуется проверка серверов (https:) в списке безопасных сайтов
3. Включает параметр Использование элементов управления ActiveX, не помеченных как безопасные для использования
4. Ну и собственно добавляет about:blank (именно он выступает в роли сайта при использовании ActiveX компонентов в теле HTML-документа на управляемой форме.

Заметил одну странность - если запретить использование неподписанных ActiveX в настройках IE, то в открытой базе сразу спотыкаемся на ошибку. Если разрешить, то пока не перезайдем в базу - так и будем спотыкаться на ошибку. Видимо экземпляр IE формируется сразу при запуске экземпляра 1С.

P.S. Как самому себе выдать вознаграждение? :)
---
insurgut, никак, только участникам темы.
---
insurgut, P.S. Как самому себе выдать вознаграждение? :)
Обождать 7 дней и вознаграждение отправится ИС ;)
---
Собственно говоря завернул решение задачи в обработку: http://infostart.ru/public/450215/
---
Отдал первому откликнувшемуся, чтобы добро не пропадало :)
---
Ну можно ВК использовать с формой с привязкой к главному окны
---
При этом можно создать экпортные функции в форме передать ЭтаФорма в объект окна
и вызывать методы формы в событиях внешней формы
---
Выложил ссылку обработки для работы с окнами WinForms и WPF
---
Serginio, спасибо за вариант, но все же задача стояла использовать типовые механизмы (ВК уже лишнее). И решение в итоге было найдено :)