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

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

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

14 ответов

27 просмотров

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

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тый

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

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

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта