Delphi-PRAXiS
Seite 5 von 6   « Erste     345 6      

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 20:21

Re: Remotedesktop
 
Liste der Anhänge anzeigen (Anzahl: 1)
Schick mal ein Paar Bilder

Es muss beim ersten Programm mit dem Button die verbindung abgebrochen werden um auf die Anmeldung zu kommen.
Das Programm ist aber auf dem rechenr auf dem eine remote verbindung hergestellt wurde und die soll da unter brochen werden.

sh17 15. Mär 2007 20:40

Re: Remotedesktop
 
Mir gehts wir Catbytes, deshalb keine Antworten von mir. Auch das Bild bringt mir nicht viel, da Deine Erklärung immer so verwirrend ist, Sorry. :gruebel:

Vielleicht sollten wir noch mal von vorn anfangen. Ich schreib jetzt, wie ich denke, was Du machen willst. Wenn was nicht stimmt, nimm den Text und ändere ihn ab.



Also Du sitzt an PC 1 und siehst Deinen leeren Desktop mit einer Verknüpfung zum Profil vom RemoteDesktopClient zum PC 2. Du startest diese Verknüpfung, die Verbindung wird hergestellt, es wird sich am PC 2 per Terminalsitzung eingeloggt und damit eine Sitzung erzeugt. Nun siehst Du in einem Fenster den Desktop des PC 2. Per Autostart im PC2 oder auf dem Desktop von PC2 startest Du Dein betreffendes Programm auf PC2. Du machst was damit. (Jetzt kommt das noch zu lösende Problem) Du beendest das Programm auf PC2. Gehst in der Sitzung auf Windows -> Start -> Abmelden. Du meldest Dich vom PC2 ab. die Sitzung wird damit beendet und das Terminalfenster geschlossen. Du siehst wieder Deinen leeren Desktop von PC1

So stell ich mit Deinen Ablauf vor.

Jetzt möchtest Du (denken wir) durch obigen Klick auf beenden von Programm in PC2 Dich in einem Rutsch auch gleich abmelden, so als würdes Du alles von Hand machen. Wie dies geht, haben wir Dir oben gezeigt. Da kommt kein Killprocess vor.

So.

Jetzt bist Du dran.

SaFu 16. Mär 2007 08:00

Re: Remotedesktop
 
ja genauso habe ich das vor nur das dass Programm auf PC2 schon läuft weil es immer laufen muss. aber das ist ja neben sache das wichtigste ist nur das beim abmelden die sitzung abgebrochen wird.

Kann mir jemand vielleicht den Code erklären wenn es der ist den ich dazu brauche und wie wende ich den an für die Remote verbindung.

Ich danke euch für eure geduldt.

Zitat:

Zitat von Remko
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;


Remko 16. Mär 2007 08:19

Re: Remotedesktop
 
Also ich versuche Deutsch, Entschuldigung fur fehlers :-)

Eine Remote Desktop session ist anlich an ein Terminal Server Session. Microsoft hat eine API für Terminal Server. Mit dieser API ist es möglich ein Session zu Disconnecten (wie heiBt das in Deutsch) oder Abgemeldet. Man kann die API remote (von PC1) oder local (von PC2) benutzen.
Mit ein Disconnect bleibt dien Programm laufen, mit abmelden werd es abgeslossen.

Also, zum Disconnect Session 0 auf PC2 von PC1:

Delphi-Quellcode:
uses JwaWtsApi32;

var hServer: THandle;

hServer := WTSOpenServerW('PC2');
WTSDisconnectSession(hServer, 0, False);
WTSCloseServer(hServer);
Zum Disconnect Session 0 auf pc2 von pc2 (aus diener programm):
Delphi-Quellcode:
Uses JwaWtsApi32;

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

WTSDisconnectSession(SERVERNAME_CURRENT, LOGONID_CURRENT, False);
SERVERNAME_CURRENT ist eine constante für die lokale PC, LOGONID_CURRENT ist eine constante für die jezt aktieve session.

SaFu 16. Mär 2007 08:23

Re: Remotedesktop
 
Bei mir wird die JwaWtsApi32.dcu nicht gefunden?

Catbytes 16. Mär 2007 08:29

Re: Remotedesktop
 
Hi,

Du möchtest aber nicht, daß Dein Programm noch irgendwas macht, wenn der Disconnect erfolgt ist, oder?

IMHO ist dies nicht möglich (Program wird quasi eingefroren). Korrigiert mich, wenn ich hier falsch liege :P

Alles andere was dauerhaft laufen soll, sollte eigentlich auf die Console.

SaFu 16. Mär 2007 08:32

Re: Remotedesktop
 
ja
Das Programm sollte auf PC2 weiter laufen es Wäre genauso wenn ich über Remote einen zugriff machen würde auf deinen Rechener würde daran Arbeiten und würde mich über ein selbst geschriebenes Programm von dir abmelden um die Sitzung zu beenden. Dann würdest du es ja auch nicht wollen das dein rechner nicht mehr geht.

SaFu 16. Mär 2007 08:51

Re: Remotedesktop
 
Was ist eigentlich mit der JwaWtsApi32.dcu wie kann ich die einbinden. Würde es Trotzdem gerne mal versuchen. Bon langsam am verzweifeln.

Remko 16. Mär 2007 08:57

Re: Remotedesktop
 
Liste der Anhänge anzeigen (Anzahl: 1)
JwaWtsApi32 ist die Delphi conversion von die Windows32 API's (PSDK). (http://jedi-apilib.sourceforge.net/).

SaFu 16. Mär 2007 09:12

Re: Remotedesktop
 
Wie binde ich die JwaWtsApi32 in Delphi 7 ein


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:51 Uhr.
Seite 5 von 6   « Erste     345 6      

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