Есть пример? Я подтянул библиотеку из ActiveX, но при выполнении кода, после метода Connect, открывается белое окно. Ни сообщений об ошибке, ничего...
Кесарю - Кесарево. Отдайте системе вызов рдп соединения и все.
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; Привет. Выдернул из дремучего своего проекта. Отредактировал от лишнего не особо стараясь, главное постарался сохранить суть
есть готовый код создания рдп подключения и его дальнейшее использование, но только в пнд
А где лежит 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
Слова знакомые - печаль ужасная. Мне бы простенький примерчик для совсем тупых) Примечания Строка подключения, содержащаяся в параметре 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
Спасибо. Но теперь молчит, что рыба об лед. Перекур)
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
Нерелевантная ремарка для дельфистов 😄
думаешь чисто хэдер убрали ? )
Это, конечно, более наглядно чем в текстовом виде)
Обсуждают сегодня