private void buttonSessions_Click(object sender, EventArgs e) { ContextMenu menu = new ContextMenu(); foreach (var session in TerminalServerHandle.GetCurrent().GetSessions()) { MenuItem item = new MenuItem(); string userName = session.DomainName + "\\" + session.UserName; string displayName = session.SessionId.ToString(); if (!string.IsNullOrEmpty(session.Name)) { displayName += ": " + session.Name + (userName != "\\" ? (" (" + userName + ")") : ""); } else if (userName != "\\") { displayName += ": " + userName; } item.Text = displayName; item.Tag = session.SessionId; item.Click += new EventHandler(item_Click); menu.MenuItems.Add(item); } menu.Show(buttonSessions, new Point(buttonSessions.Width, 0)); }
public static void Logoff(IWin32Window window, int session, bool prompt) { if (prompt && !Prompt(window, "the session", "logoff", "")) { return; } ElevateIfRequired(window, session, "logoff", () => TerminalServerHandle.GetCurrent().GetSession(session).Logoff()); }
public static void Disconnect(IWin32Window window, int session, bool prompt) { if (prompt && !Prompt(window, "the session", "disconnect", "")) { return; } ElevateIfRequired(window, session, "disconnect", () => { TerminalServerHandle.GetCurrent().GetSession(session).Disconnect(); }); }