Пример #1
0
        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));
        }
Пример #2
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());
        }
Пример #3
0
        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();
            });
        }