Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Remote Desktop in PageControl integrieren? (https://www.delphipraxis.net/88908-remote-desktop-pagecontrol-integrieren.html)

Piro 22. Mär 2007 18:51


Remote Desktop in PageControl integrieren?
 
Guten Abend,

kann man die RemoteDesktopVerbindung in ein TabSheet integrieren, so dass man mehre Sessions in sepearten Tabsheets hat?

Danke, Sven

mkinzler 22. Mär 2007 18:56

Re: Remote Desktop in PageControl integrieren?
 
Ist ja ein Control. Müßte eigentlich so gehen.

Piro 22. Mär 2007 19:19

Re: Remote Desktop in PageControl integrieren?
 
ja und wie? keine Ahnung, sorry.

mkinzler 22. Mär 2007 19:24

Re: Remote Desktop in PageControl integrieren?
 
Na einfach die die Library installieren und die entsprechende Komponente auf den Tab legen.

Piro 22. Mär 2007 19:26

Re: Remote Desktop in PageControl integrieren?
 
das habe ich gemacht aber keine Komponete gefunden.

mkinzler 22. Mär 2007 19:28

Re: Remote Desktop in PageControl integrieren?
 
Schau mal unter dem Reiter/Tab ActiveX (TRdpClient/TRDPClient2)

Piro 22. Mär 2007 19:30

Re: Remote Desktop in PageControl integrieren?
 
den habe ich leider nicht. Ich verwende TurboDelphi, kann es daran liegen?

mkinzler 22. Mär 2007 19:34

Re: Remote Desktop in PageControl integrieren?
 
Ja. Aber du kannst die Komponente ja manuell erzeugen und dann genauso verwenden

Piro 22. Mär 2007 19:35

Re: Remote Desktop in PageControl integrieren?
 
ok alles klar. das habe ich schon mal gemacht, bloß wenn man nicht die Eigenschatften und Ereignisse kennt, ist es etwas schwierig.

mkinzler 22. Mär 2007 19:37

Re: Remote Desktop in PageControl integrieren?
 
Die siehst du doch im der Wrapper-Datei (zugegeben im OI ist es einfacher )

Piro 22. Mär 2007 19:41

Re: Remote Desktop in PageControl integrieren?
 
Ok, ich weiß war nicht wie ich die ganzen Eigenschaften setzen soll aber ich werde mich mal an der Sache versuch.

Vielen Dank für deine Geduld. Schönen Abend noch. Falls du eventuell noch ein Beispiel hast, welches mich ein Stück näher meinem Ziel bringt, dann immer her damit.

In diesem Sinne, Vielen Dank.

Piro 22. Mär 2007 19:54

Re: Remote Desktop in PageControl integrieren?
 
P.S.: Ich habe mal gerade ein wenig rumprobiert. Ich bekomme das einfach nicht hin. Ich schaffe es ja nicht mal das Programm zu öffnen.

mkinzler 23. Mär 2007 06:53

Re: Remote Desktop in PageControl integrieren?
 
Ich hab mal kurz ein Demoprogramm geschrieben, funktioniert einwandfrei:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, MSTSCLib_TLB, StdCtrls;

type
  TForm1 = class(TForm)
    Button: TButton;
    procedure ButtonClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    MsRdpClient: TMsRdpClient;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.ButtonClick(Sender: TObject);
begin
   MsRdpClient.Server := '<servername>';
   MsRdpClient.UserName := '<benutzer>';
   MsRdpClient.Connect;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  MsRdpClient := TMsRdpClient.Create(Self);
  with MsRdpClient do
  begin
    Name := 'MsRdpClient';
    Parent := Self;
    Left := 0;
    Top := 0;
    Width := 800;
    Height := 600;
    TabOrder := 0;
    ControlData := {0003000008000200000000000B000000030000000000};
  end;
  Button.BringToFront;
end;

end.

Piro 23. Mär 2007 21:26

Re: Remote Desktop in PageControl integrieren?
 
Irgendetwas muss beim mir nicht stimmen.

Also ich kann ControlData nicht benutzen, dass kennt er nicht. Kommentiere ich es aus, erscheint die Form aber klicke ich dann auf den Button passiert nichts.

Komisch. Ich glaube, ich mach mal Delphi neu.

capo 24. Mär 2007 00:47

Re: Remote Desktop in PageControl integrieren?
 
Liste der Anhänge anzeigen (Anzahl: 1)
guck dir mal den screenshot an.
du musst im menü auf typbibliothek importieren klicken.
gruss v. capo

capo 24. Mär 2007 01:28

Re: Remote Desktop in PageControl integrieren?
 
Delphi-Quellcode:
ControlData := {0003000008000200000000000B000000030000000000};
das funktioniert bei mir nicht.
gibt es auch eine möglichkeit gleich das passwort füpr den login zu übermitteln?
evt. noch mehr einstellungen?
gruss vom capo :)

EDIT: ansonsten funktioniert das beispiel echt gut

quantum 24. Mär 2007 13:14

Re: Remote Desktop in PageControl integrieren?
 
Folgendes sollte zum übermitteln des Passwortes funktionieren:

Delphi-Quellcode:
MsRdpClient.AdvancedSettings.ClearTextPassword := '<password>';

Piro 24. Mär 2007 16:59

Re: Remote Desktop in PageControl integrieren?
 
Liste der Anhänge anzeigen (Anzahl: 2)
Also ich habe mein TurboDelphi neuinstalliert. Hat auch nicht geholfen. Folgenden Quellcode habe ich:
Delphi-Quellcode:
unit uRDP;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, MSTSCLib_TLB, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    MsRdpClient: TMsRdpClient;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 MsRdpClient := TMsRdpClient.Create(Self);
 with MsRdpClient do
 begin
   Name := 'MsRdpClient';
   Parent := Self;
   Left := 0;
   Top := 0;
   Width := 800;
   Height := 600;
   TabOrder := 0;
   ControlData := {0003000008000200000000000B000000030000000000}; // Dies kennt er nicht
 end;
 Edit1.BringToFront;
 Button1.BringToFront;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 MsRdpClient.Server := Edit1.Text;
 MsRdpClient.Domain := GetEnvironmentVariable('USERDNSDOMAIN');
 MsRdpClient.UserName := '<username>';
 MsRdpClient.AdvancedSettings2.ClearTextPassword := '<password>';
 MsRdpClient.Connect;
end;

end.
Sie Screenshots für den Import und den Fehler? Was ist hier bloß falsch? Wenn ich ControlData auskommentiere, startet die Application aber wenn ich auf den Button klicke, passiert nichts.

???? :wall:

Piro 24. Mär 2007 17:15

Re: Remote Desktop in PageControl integrieren?
 
:hello: :hello: :hello:

Ich habs. Mir war nicht bewußt, dass der Computer erreichbar sein muss. Ich dachte immer, ich bekomme erst die Application von mstsc.exe und dann gehe ich damit auf den Computer.

Sorry mein Fehler. Vielen vielen Dank für eure Geduld und eure Infos.

Sven

capo 24. Mär 2007 22:14

Re: Remote Desktop in PageControl integrieren?
 
Zitat:

Zitat von quantum
Folgendes sollte zum übermitteln des Passwortes funktionieren:
Delphi-Quellcode:
MsRdpClient.AdvancedSettings.ClearTextPassword := '<password>';

aber nicht bei vista oder?

gibt eine fehlermeldung:

Zitat:

---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Project1.exe ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 0045C4C6 in Modul 'Project1.exe'. Lesen von Adresse 000002F0'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------
ohne passwort wird das loginfenster angezeigt.
und noch ein problem hab ich...
wenn ich einige zeit nichts mache dann gefriert der remotedesktop ein, weiß jemand woran das liegt?


gruss vom capo

capo 24. Mär 2007 22:39

Re: Remote Desktop in PageControl integrieren?
 
Zitat:

Zitat von daywalker299
Also ich habe mein TurboDelphi neuinstalliert. Hat auch nicht geholfen. Folgenden Quellcode habe ich:
Delphi-Quellcode:
   ControlData := {0003000008000200000000000B000000030000000000}; // Dies kennt er nicht

dürfte die erklärung sein:

Zitat:

========================
main.dfm
========================


object MainForm: TMainForm
Left = 382
Top = 133
BorderStyle = bsNone
Caption = 'Терминал'
ClientHeight = 320
ClientWidth = 509
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'MS Sans Serif'
Font.Style = []
OldCreateOrder = False
WindowState = wsMaximized
OnClose = FormClose
OnCreate = FormCreate
OnShow = FormShow
PixelsPerInch = 96
TextHeight = 13
object MsTscAx1: TMsTscAx
Left = 152
Top = 48
Width = 192
Height = 192
TabOrder = 0
OnDisconnected = MsRdpClientDisconnected
ControlData = {0003000008000200000000000B000000030000000000}
end
end

squetk 4. Apr 2007 23:21

Re: Remote Desktop in PageControl integrieren?
 
Das funktioniert ganz gut - nur gibt es ClearTextPassword bei mir nur unter AdvancedSettings2; ob das an der neuen RDP-Version liegt?
Und: jede Zuweisung an ClearTextPassword führt zu einem Programmabsturz (D7-Programm) - hat jemand dafür eine Lösung?

Hansa 4. Apr 2007 23:38

Re: Remote Desktop in PageControl integrieren?
 
Habe Zwischenfrage : es geht doch um den Windows-Remote-Desktop ? Falls nicht, bitte klarstellen. Der wurde hier (also bei mir) schon als unbrauchbar eingestuft. Kann man damit doch was anfangen ? Ehrlich gesagt : glaubs kaum, weil selber getestet.

mkinzler 5. Apr 2007 06:38

Re: Remote Desktop in PageControl integrieren?
 
Zitat:

Habe Zwischenfrage : es geht doch um den Windows-Remote-Desktop ?
Ja
Zitat:

Der wurde hier (also bei mir) schon als unbrauchbar eingestuft.
Warum?
Zitat:

Kann man damit doch was anfangen ?
Ja.
Zitat:

Ehrlich gesagt : glaubs kaum, weil selber getestet.
Dann wundert es mich das sich Terminal Services immer mehr durchsetzen.
Wobei natürlich Citix mehr bietet als die reine MS-Basis.

smudo 5. Apr 2007 07:31

Re: Remote Desktop in PageControl integrieren?
 
Sorry, ich misch mich mal kurz ein:
Ab welcher Delphiversion gibt es den MsRdpClient?

mkinzler 5. Apr 2007 07:37

Re: Remote Desktop in PageControl integrieren?
 
Gar nicht von Haus aus, den mußt du selber importieren.
Dieser Thread ist eine Fortsetzung von
http://www.delphipraxis.net/internal...t.php?t=106290

squetk 5. Apr 2007 16:20

Re: Remote Desktop in PageControl integrieren?
 
@smudo: der MsRdpClient ist per COM einzubinden, also einfach die entsprechende Typbibliothek importieren (ist weiter oben beschrieben).
Dann kann man die Remote-Desktop-Session in einem gewöhnlichen Delphi-Form einsetzen. Ich hatte so etwas vor, um mehrere Sessions per PageControl gemeinsam zu verwalten (wir haben hier mehrere Aussenstellen ;-). Schön wäre es, wenn man das Passwort gleich mit angeben könnte, aber das führt zu einem Crash.
Unschön ist ebenfalls, dass die Session bei Grössenänderung des Forms immer die Ausgangsdimensionen behält.

Ansonsten bietet dies aber interessante Einsatzmöglichkeiten.

mkinzler 5. Apr 2007 16:23

Re: Remote Desktop in PageControl integrieren?
 
Zitat:

Unschön ist ebenfalls, dass die Session bei Grössenänderung des Forms immer die Ausgangsdimensionen behält.
Das liegt aber am Server und nicht am Control.

squetk 5. Apr 2007 16:25

Re: Remote Desktop in PageControl integrieren?
 
Das liegt am Delphi-Formular? Kann man die Grössenänderung abfangen und per Code auf den MsRdpClient übertragen?

mkinzler 5. Apr 2007 16:28

Re: Remote Desktop in PageControl integrieren?
 
Bei den Terminalservices, wird die Größe beim Anmelden festgelegt und wird danach nicht mehr geändert, auch beim Trennen der Sitzung und Neuverbindung bleiben die Ausmasse die selben.

smudo 10. Apr 2007 14:17

Re: Remote Desktop in PageControl integrieren?
 
@squetk: Genau an diese mehreren Aussenstellen habe ich dabei gedacht ;)
Aber bei den genannten Einschränkungen ist es wohl sinnvoller, weiterhin zwischen den Tasks zu wechseln...

Gruß
René

meisteralex 17. Sep 2007 12:39

Re: Remote Desktop in PageControl integrieren?
 
gibts jetzt ne lösung zu dem passwortproblem ?

Remko 18. Sep 2007 21:11

Re: Remote Desktop in PageControl integrieren?
 
What problem is there with the password (I read back all pages but couldn't find it)?


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz