Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi RemoteApp starten, RDPSession (https://www.delphipraxis.net/191124-remoteapp-starten-rdpsession.html)

DelTurbo 11. Dez 2016 16:25


RemoteApp starten, RDPSession
 
Hi,
ich möchte mir ein kleines Programm schreiben was mich automatisch von jedem PC aus an eine RemoteApp anmeldet. Da man das Password nicht mehr in der .rdp hinterlegen kann, bin ich auf dieses Idee gekommen.
Die eigentlich RDP Anmeldung bekomme ich hin. Mit folgendem Code.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
    rdp:=TMsRdpClient7.Create(Self);
    rdp.Parent:=Panel1;
    rdp.SetBounds(0, 0, Panel1.Width, Panel1.Height);
    rdp.Server:='RAServer';
    rdp.UserName:='user';
    rdp.AdvancedSettings7.ClearTextPassword:='123456';
//    rdp.RemoteProgram2.RemoteProgramMode:=True;
//    rdp.RemoteProgram2.RemoteApplicationName:='||FritzFax';
//    rdp.RemoteProgram2.RemoteApplicationProgram:='FritzFax';
    rdp.Connect;
end;
Damit kann ich eine "einfache" RDPSession aufbauen und sehe das Desktop. Sobald ich aber rdp.RemoteProgram2.RemoteProgramMode auf True setze kommt "Unbekannter Fehler".
Um ehrlich zu sein, möchte ich das Remote Programm auch nicht in einen Panel laufen lasse. Das kleine Tool soll im Grunde nur die Anmeldung mit Password übernehmen. Nun die Frage, was mache ich falsch?

Danke im Voraus

DelTurbo 12. Dez 2016 08:04

AW: RemoteApp starten, RDPSession
 
Topic geändert. Ich glaube es war etwas schlecht ausgedrückt.

TiGü 12. Dez 2016 09:20

AW: RemoteApp starten, RDPSession
 
rdp.RemoteProgram2 ist nil.
Dadurch erfolgt ein Zugriff auf eine ungültige Adresse => Zugriffsverletzung und darum erhälst du "Unbekannter Fehler".

Du kannst als Parent anstatt des Panels auch deine Form nehmen oder ein beliebiges TWinControl.
Ohne Zuweisung des Parent siehst du den Remote Desktop nicht.

DelTurbo 12. Dez 2016 11:48

AW: RemoteApp starten, RDPSession
 
Erst mal danke für die Antwort. Aber ich möchte ja nicht das Desktop sehen, sondern eine RemoteApp Starten.

Musst man da noch irgendwas erstellen damit RemoteProgram2 nicht Nil ist? Ich habe dazu leider nix gefunden.

TiGü 12. Dez 2016 12:59

AW: RemoteApp starten, RDPSession
 
Ersetze mal TMsRdpClient7 mit der Klasse TMsRdpClient7NotSafeForScripting.
Da ist die Instanz der Property RemoteProgramm2 gültig.

Siehe auch: http://stackoverflow.com/a/17136171

DelTurbo 12. Dez 2016 14:08

AW: RemoteApp starten, RDPSession
 
Vielen dank. "Unbekannter Fehler" kommt nun nicht mehr. Allerdings ist das Panel schwarz. Er startet das Programm nicht. Lasse ich die Zuweisung auf das Panel weg, passiert auch nichts.

Hier mein Code:

Delphi-Quellcode:
    rdp:=TMsRdpClient7NotSafeForScripting.Create(Self);
    rdp.Parent:=Panel1;
    rdp.SetBounds(0, 0, Panel1.Width, Panel1.Height);
    rdp.Server:='RAServer';
    rdp.UserName:='user';
    rdp.AdvancedSettings7.ClearTextPassword:='123456';
    rdp.RemoteProgram2.RemoteProgramMode:=True;
    rdp.RemoteProgram2.RemoteApplicationName:='FritzFax';
    rdp.RemoteProgram2.RemoteApplicationProgram:='||FritzFax';
    rdp.Connect;
Irgendwas ist wohl noch falsch. Das ||FritzFax habe ich aus der .rdp. Aber auch wenn ich die || weglasse klappt es leider nicht.
Hast du vielleicht noch eine Idee wie es klappen könnte?

Gruß und danke im Voraus

himitsu 12. Dez 2016 15:37

AW: RemoteApp starten, RDPSession
 
Delphi-Quellcode:
rdp.RemoteProgram.RemoteProgramMode := True;
rdp.RemoteProgram2.RemoteApplicationName := 'Calculator';
rdp.RemoteProgram2.RemoteApplicationProgram := 'C:\Windows\System32\Calc.exe';
Das Programm "FritzFax" ist auf dem Remote-PC auch bekannt?
Wenn es nicht läuft/gestartet werden kann, dann kann man dieses Programm natürlich auch nicht sehn -> nichts = schwarz

DelTurbo 12. Dez 2016 16:01

AW: RemoteApp starten, RDPSession
 
Ja, FritzFax ist bekannt. Ich habe das ja aus der .rpd Datei. Ich habe deine Änderung nun gerade getestet. Nun sehe ich das Hintergrundbild und sonst passiert nix weiter, leider.

Also eine RDPSession aufbauen scheint einfach zu sein, aber eine RemoteApp zu starten ist wohl nicht so einfach. Zumal die RemoteApp garnicht im Panel laufen soll. Ich denke mal man müsste bei rdp.Parent das Desktop angeben, oder?

himitsu 12. Dez 2016 16:34

AW: RemoteApp starten, RDPSession
 
Wenn du die MSTSC.exe startest, dann hat die ihr Fenster und da drin wird der Remote-Desktop angezeigt.

Hier hast du ein Fenster und mußt darin oder in einer Unterkomponente (z.B. Panel) den Remote-Desktop anzeigen. :stupid:

DelTurbo 12. Dez 2016 16:48

AW: RemoteApp starten, RDPSession
 
Das ist im Moment nur zum Testen. Wie ich schon schrieb soll, wenn es mal klappt, die RemotApp "frei" sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:34 Uhr.
Seite 1 von 2  1 2      

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