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.