![]() |
Re: Remotedesktop
Das Programm auf PC2 wird ja nicht beendet sondern es wird auf das Anmelde Fenster zurück gesetzt
Delphi-Quellcode:
hier müsste jetzt noch was rein um die Remoteverbindung zu beenden.
procedure TForm2.Button5Click(Sender: TObject);
var pt: TPoint; begin if MessageDlgPos('Wollen sie sich wirklich Abmelden? ',mtInformation,[mbYes,mbNo],0,300,200) = mrYes then begin Form1.Show; Form2.Close; begin pt := Point( Width + 300, Top + 100); Mouse.CursorPos := ClientToScreen(pt) end; end; end; |
Re: Remotedesktop
Was denn nun? Willst Du die Verbindung oder die Session beenden?
Wenn Du nur die Verbindung kappst läuft die Session auf dem Server weiter (blockiert in der Regel eine CAL) und kann wieder verbunden werden beim nächsten Connect. Im zweiten Fall wird der User sauber abgemeldet und die Verbindung dann gekappt. |
Re: Remotedesktop
Zitat:
|
Re: Remotedesktop
Zitat:
Gemeint ist, ob die Sitzung wo Dein Programm läuft (PC2) beendet werden soll, also es soll sich abgemeldet werden (Start -> Abmelden). Wenn ja, dann mach dies doch einfach vom Programm aus (Hab den Aufruf jetzt nicht bei der Hand). |
Re: Remotedesktop
Das Problem bei der sache ist halt das die Maus beim Abmelden des Programms aus einen anderen Bildschirm gesetzt wird wie man oben sieht.
Die muss da auch bleiben, wenn ich die Remoteverbindung jetzt beenden will müsste ich ja wieder die maus bewegen um den schließen Button der Remoteverbindung zu betätigen und somit wäre die maus wieder auf dem Monitor wo sie nicht sein darf, deshalb wurde ich gerne beim Abmelden die Remoteverbindung beenden. Habe aber noch nichts gefunden womit ich das realiesieren könnte |
Re: Remotedesktop
Ich kapier es nicht. Welche Maus muss wo sein? Was seh ich oben?
Du baust in Dein Programm auf PC2 einen Button ein, der sich vom Windows in der Remotesitzung abmeldet. Die Sitzung wird beendet und die Verbindung getrennt. Nix mit Schliessen-Button |
Re: Remotedesktop
Richtig in meinem Proramm auf PC2 Soll über einen Button in meinem Programm die Remoteverbindung getrennt werden.
|
Re: Remotedesktop
:thumb: na dann, WinAPI-funktion gesucht und frisch ans Werk
![]() |
Re: Remotedesktop
Liste der Anhänge anzeigen (Anzahl: 1)
Ein ganz netter Beitrag abr der Funktioniert nicht so ganz wie ich das Brauch
Hab da was gefunden und auch schonmal was Probiert, das aufrufen klappt wunderbar wie vorher auch aber kann mir jemand sagen wie ich den Prozess killen kann. Hab es unten mal angehängt. ich glaube das geht schon so in die Richtung.
Delphi-Quellcode:
procedure KillProcess(hWindowHandle: HWND); var hprocessID: INTEGER; processHandle: THandle; DWResult: DWORD; begin SendMessageTimeout(hWindowHandle, WM_CLOSE, 0, 0, SMTO_ABORTIFHUNG or SMTO_NORMAL, 5000, DWResult); if isWindow(hWindowHandle) then begin // PostMessage(hWindowHandle, WM_QUIT, 0, 0); { Get the process identifier for the window} GetWindowThreadProcessID(hWindowHandle, @hprocessID); if hprocessID <> 0 then begin { Get the process handle } processHandle := OpenProcess(PROCESS_TERMINATE or PROCESS_QUERY_INFORMATION, False, hprocessID); if processHandle <> 0 then begin { Terminate the process } TerminateProcess(processHandle, 0); CloseHandle(ProcessHandle); end; end; end; end; procedure TForm1.Button1Click(Sender: TObject); begin KillProcess(FindWindow('mstsc',nil)); end; |
Re: Remotedesktop
Yes, if you can Disconnect or Logoff a session if you know (or obtain) the SessionID.
See ![]() ![]() Edit: sorry I didn't notice that this was a multipage thread, I was replying to: Zitat:
Edit2: Still after reading the rest of the topic, if you use either WTSDisconnectSession or WTSLogoffSession on the pc the session is running at you can achieve what you want. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:41 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 by Thomas Breitkreuz