Delphi-PRAXiS
Seite 4 von 6   « Erste     234 56      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Remotedesktop (https://www.delphipraxis.net/88236-remotedesktop.html)

SaFu 15. Mär 2007 09:27

Re: Remotedesktop
 
Hi hat keiner mal einen brauchbaren Tipp mit dem ich mal was anfangen kann???

Bitte :freak:

Remko 15. Mär 2007 09:30

Re: Remotedesktop
 
Maybe I'm not understanding your question so I'll summarize:

You want to start a remote desktop from PC1 to PC2. In PC2 you start a program (your program), from this program you want to close the remote desktop session so you can return to you normal desktop, am I right?

SaFu 15. Mär 2007 09:31

Re: Remotedesktop
 
Thats right!!!

Catbytes 15. Mär 2007 09:58

Re: Remotedesktop
 
Hi,

Du kannst es auch über die Benutzerverwaltung steuern.

Geh in die "Computerverwaltung -> Benutzer"

Wenn Du einen Benutzer bearbeitest, gibt es den Reiter "Umgebung". Dort trägst Du bei "Folgendes Programm beim anmelden starten" Dein Programm ein. Beim verbinden wird nun nur das Programm aufgerufen und sonst nichts. Wenn das Programm beendet wird, wird auch die Verbindung wieder getrennt.

Pass aber auf: Dateioperationen (Datei öffnen etc.) funktionieren noch. Man könnte also auch darüber z.B. den Task-Manager aufrufen und dann einen Explorer starten oder RegEdit (Rechte vorausgesetzt).

In der Verwaltung kannst Du per "Terminaldienstekonfiguration" das ganze auch global setzen. Dort ist der Eintrag unter "Verbindungen -> RDP" zu finden (Doppelklick). Auch hier gibt es den Reiter "Umgebung".

Auf jeden Fall wird das erreicht, was Du willst: TS wird gestartet -> Dein Programm läuft -> Dein Programm wird beendet -> TS wird korrekt beendet.

Alles andere wäre murks...

Remko 15. Mär 2007 10:15

Re: Remotedesktop
 
use WTSDisconnectSession:
Delphi-Quellcode:
Uses JwaWtsApi32;

const
  SERVERNAME_CURRENT = HANDLE(0);
  LOGONID_CURRENT = ULONG(-1);

var bRes: Boolean;

bRes := WTSDisconnectSession(SERVERNAME_CURRENT, LOGONID_CURRENT, False);

if bRes then
begin
   Application.Terminate;
end;

SaFu 15. Mär 2007 10:16

Re: Remotedesktop
 
Das ist auch eine gut lösung und das wusste ich noch garnicht mal wieder was gelernt :warn:

Aber ich will mein Programm ja nicht beenden sonder nur abmelden es wird beim Button abmelden die Form1 angezeigt auf der die benutzeranmeldung ist mit Benutzername und Passwort die muss beim beenden der Remoteverbindung noch Offen sein. Deshalb muss ich auf der Form2 beim beenden die Remoteverbindung abbrechen das die Form1 noch offen bleibt bzw das Programm nicht beendet wird.

SaFu 15. Mär 2007 10:18

Re: Remotedesktop
 
Zitat:

Zitat von Catbytes
Hi,

Du kannst es auch über die Benutzerverwaltung steuern.

Geh in die "Computerverwaltung -> Benutzer"

Wenn Du einen Benutzer bearbeitest, gibt es den Reiter "Umgebung". Dort trägst Du bei "Folgendes Programm beim anmelden starten" Dein Programm ein. Beim verbinden wird nun nur das Programm aufgerufen und sonst nichts. Wenn das Programm beendet wird, wird auch die Verbindung wieder getrennt.

Pass aber auf: Dateioperationen (Datei öffnen etc.) funktionieren noch. Man könnte also auch darüber z.B. den Task-Manager aufrufen und dann einen Explorer starten oder RegEdit (Rechte vorausgesetzt).

In der Verwaltung kannst Du per "Terminaldienstekonfiguration" das ganze auch global setzen. Dort ist der Eintrag unter "Verbindungen -> RDP" zu finden (Doppelklick). Auch hier gibt es den Reiter "Umgebung".

Auf jeden Fall wird das erreicht, was Du willst: TS wird gestartet -> Dein Programm läuft -> Dein Programm wird beendet -> TS wird korrekt beendet.

Alles andere wäre murks...


Zitat:

Zitat von fuknersascha
Das ist auch eine gut lösung und das wusste ich noch garnicht mal wieder was gelernt :warn:

Aber ich will mein Programm ja nicht beenden sonder nur abmelden es wird beim Button abmelden die Form1 angezeigt auf der die benutzeranmeldung ist mit Benutzername und Passwort die muss beim beenden der Remoteverbindung noch Offen sein. Deshalb muss ich auf der Form2 beim beenden die Remoteverbindung abbrechen das die Form1 noch offen bleibt bzw das Programm nicht beendet wird.

Sorry das war die Antwort darauf

SaFu 15. Mär 2007 18:30

Re: Remotedesktop
 
Hi wollte nur mal fragen ob noch keiner ne lösung hat?

Hatte noch niemand dieses Problem.

Wie gesagt dem Code oben den ich gefunden habe kann so Prozesse wie Notepad usw. aus dem Taskmanager killen aber nicht mstsc (Remotedesktop) warum?

Wäre net wenn ihr vielleicht ne lösung für mein Problem hätte würde euch nie wieder belästigen :pale: :wink:

Catbytes 15. Mär 2007 19:20

Re: Remotedesktop
 
Zitat:

Zitat von fuknersascha
Wäre net wenn ihr vielleicht ne lösung für mein Problem hätte würde euch nie wieder belästigen :pale: :wink:

Du belästigst niemand hier. Dafür ist ja so ein Forum da.

Aber: vielleicht bin ich zu blöd oder zu begriffsstutzig. Ich habe immer noch nicht wirklich geschnallt, was Du eigentlich machen möchtest. :drunken: Versuch es doch mal mit einer Zeichnung oder in Schritten. Die Lösung ist vielleicht ganz einfach, aber alle denken viel zu kompilizert darüber nach oder so...

Remko 15. Mär 2007 19:49

Re: Remotedesktop
 
I agree, it's not entirely clear what you want to accomplish. Did you try my solution? If you want to keep the application running just leave out the part with Application.Terminate. A disconnected sessions keeps on running.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:51 Uhr.
Seite 4 von 6   « Erste     234 56      

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 by Thomas Breitkreuz