コード例 #1
0
ファイル: MainForm.cs プロジェクト: ewin66/TestTop
        private void DesktopButton_Click(object sender, EventArgs e)
        {
            startDesktop.Save();


            if (string.IsNullOrWhiteSpace(comboBox.Text))
            {
                return;
            }

            var desk = Desktops.FirstOrDefault(d => d.Name == comboBox.Text);

            if (desk == null)
            {
                desk = new Desktop(comboBox.Text, MainDesktopHandle, CreateGraphics());
                Desktops.Add(desk);
                GetDesktops();
            }

            desktopControl1.Add(CurrentDesktop.Name, CurrentDesktop.TakeScreenshot());
            desk.Show();
            desk.CreateProcess(Path.Combine(Environment.GetEnvironmentVariable("windir"), @"explorer.exe"));
            //desk.CreateProcess(Path.Combine(Environment.GetEnvironmentVariable("windir"), @"explorer.exe"));
            CurrentDesktop = desk;
        }
コード例 #2
0
        public static void Switch(string name)
        {
            startDesktop.Save();

            if (string.IsNullOrWhiteSpace(name))
            {
                return;
            }

            var desk = Desktops.FirstOrDefault(d => d.Name == name);

            if (desk == null)
            {
                desk = new Desktop(name, MainDesktopHandle);
                Desktops.Add(desk);
            }
            //var list = Process.GetProcesses().Where(x => x.ProcessName.ToLower().Contains("explorer")).ToList();
            //list.ForEach(x => x.Kill());
            desk.Show();
            CurrentDesktop = desk;

            if (MainService.Clients.Contains(name))
            {
                return;
            }
            desk.CreateProcess(Path.Combine(Environment.GetEnvironmentVariable("windir"), @"explorer.exe"));
            desk.CreateProcess(@"..\..\..\\TestTop.UI\bin\Debug\TestTop.UI.exe");
        }
コード例 #3
0
 private void Add(Desktop desktop)
 {
     Desktops.Add(desktop);
     if (DesktopsByName.ContainsKey(desktop.Id))
     {
         Desktops.Remove(DesktopsByName[desktop.Id]);
     }
     DesktopsByName[desktop.Id] = desktop;
 }
コード例 #4
0
ファイル: MainForm.cs プロジェクト: ewin66/TestTop
 private bool DesktopEnumProc(string lpszDesktop, IntPtr lParam)
 {
     Desktops.Add(new Desktop(lpszDesktop, MainDesktopHandle, CreateGraphics()));;
     return(true);
 }
コード例 #5
0
 /// <summary>
 /// Добавляет рабочий стол в репозиторий
 /// </summary>
 /// <param name="desktop"></param>
 public void AddDesktop(DesktopModel desktop)
 {
     Desktops.Add(desktop);
 }
コード例 #6
0
 private static bool DesktopEnumProc(string lpszDesktop, IntPtr lParam)
 {
     Desktops.Add(new Desktop(lpszDesktop, MainDesktopHandle));;
     return(true);
 }