169 похожих чатов

Всем привет! Подскажите, пожалуйста, как из Delphi использовать RDP подключение.

Есть пример? Я подтянул библиотеку из ActiveX, но при выполнении кода, после метода Connect, открывается белое окно. Ни сообщений об ошибке, ничего...

14 ответов

37 просмотров

Кесарю - Кесарево. Отдайте системе вызов рдп соединения и все.

function CreateRdpSession(const AServer: string; AUserName, AUserPassword: string): TMsRdpClient4; var Window: TPanel; begin if (AUserName = '') or (AUserPassword = '') then begin NewConectionForm.UserEdit.Text := AUserName; NewConectionForm.PasswordEdit.Text := AUserPassword; NewConectionForm.ShowModal; if not NewConectionForm.Accept then exit; AUserName := NewConectionForm.UserEdit.Text; AUserPassword := NewConectionForm.PasswordEdit.Text; if AUserName = '' then exit; end; Result := TMsRdpClient4.Create(nil); Result.AdvancedSettings5.DisplayConnectionBar := true; Result.AdvancedSettings5.ContainerHandledFullScreen := 1; Result.AdvancedSettings2.ClearTextPassword := AUserPassword; Result.Server := AServer; Result.UserName := AUserName; Result.FullScreenTitle := AServer; Result.ColorDepth := 32; Result.FullScreen := false; Result.OnDisconnected := OnDisconnectedRdpClient; Result.Tag := NativeInt(n); Window := TPanel.Create(nil); Window.Parent := Self; Window.Visible := false; Window.Left := PageControlTasks.Width + 50; Window.Align := alClient; Window.Caption := ''; PanelForRDP.Visible := false; Window.Visible := true; Result.Dock(Window, Rect(0, 0, Window.Width, Window.Height)); if Result.Connected = 0 then Result.Connect; end; Привет. Выдернул из дремучего своего проекта. Отредактировал от лишнего не особо стараясь, главное постарался сохранить суть

есть готовый код создания рдп подключения и его дальнейшее использование, но только в пнд

Вячеслав Павлов
function CreateRdpSession(const AServer: string; A...

А где лежит TMsRdpClient4? Не нашла. Зато в ActiveX увидела TRDPViewer, но только в одном дурацком разговоре индусов увидела пример, который ломается. https://www.delphican.com/archive/index.php/thread-1372.html TRDPSession тоже за пределами поиска Пример выдает ошибку "Ошибка в элементе верхнего уровня документа" procedure TForm1.BitBtn1Click(Sender: TObject); begin RDPViewer1.SmartSizing:=true; //Рабочий стол пропорционален размеру экрана. //код получения/имя группы/пароль try RDPViewer1.Connect(Memo1.Text,'qqq','1'); //Скачанный код необходимо вписать в текст заметки except on e: exception do Memo1.Lines.Add(e.Message); end; end; Что в первый параметр нужно подавать? Часто пользуюсь RDP, поэтому тема очень интересует

https://learn.microsoft.com/en-us/windows/win32/api/rdpencomapi/nf-rdpencomapi-irdpsrapiviewer-connect

Denis
https://learn.microsoft.com/en-us/windows/win32/ap...

Слова знакомые - печаль ужасная. Мне бы простенький примерчик для совсем тупых) Примечания Строка подключения, содержащаяся в параметре bstrConnectionString , генерируется разделяющим устройством и получается средством просмотра, выполнив следующие шаги: Участник получает экземпляр интерфейса IRDPSRAPIInvitationManager из свойства IRDPSRAPISharingSession::Invitations . Совместно использующий получает экземпляр интерфейса IRDPSRAPIInvitation , вызывая метод IRDPSRAPIInvitationManager::CreateInvitation . Участник получает строку подключения из свойства IRDPSRAPIInvitation::ConnectionString . Совместно использующий отправляет строку подключения средству просмотра методом, определяемым приложением, например, сохраняя строку подключения в файле и предоставляя доступ к файлу средству просмотра.

Катерина Свиридова
Слова знакомые - печаль ужасная. Мне бы простеньки...

Самый простой способ нашел: First of all you must import the ActiveX control "mstscax": in the Delphi IDE: 1)Component->Import ActiveX Control 2)Select "Microsoft Terminal Services Control"    the class name will be "TMsTscAx" 3)Select the unit dir name and press "Create Unit": you have created the import Unit. 4)Create a package or select an existing one and add the created unit to this package   Recompile the package and now delphi palette will contain (in the ActiveX tab if you   haven't changed it in the importing process) the MstScax component. А потом как здесь сказано: https://stackoverflow.com/a/33555347

Denis
Самый простой способ нашел: First of all you must...

Спасибо. Но теперь молчит, что рыба об лед. Перекур)

Denis
https://learn.microsoft.com/en-us/windows/win32/ap...

The IRDPSRAPIViewer interface is no longer available for use for UWP applications as of Windows 10, version 1709. It is still supported for Desktop apps

Iluha Companets
The IRDPSRAPIViewer interface is no longer availab...

Нерелевантная ремарка для дельфистов 😄

Это, конечно, более наглядно чем в текстовом виде)

Ну чо вы? ) Половину и сама пробила, просто не тот X импортировала, зато TMsRdpClient11, а в документации только 10тый

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта