Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- IntPtr desktopDC = GetWindowDC(desktopListView);
- Graphics g = Graphics.FromHwnd(desktopDC); <-- fails on out of memory error
- public void SetDesktopWindows()
- {
- Thread.Sleep(0);
- while (this.Count < Screen.AllScreens.Length)
- {
- OrangeGuava.Desktop.DesktopWindow.DesktopControl dtc = new OrangeGuava.Desktop.DesktopWindow.DesktopControl();
- User32.SetParent(dtc.Handle, User32.FindWindow("ProgMan", null));
- this.Add(dtc);
- }
- int minx = 0;
- int miny = 0;
- foreach (Screen screen in Screen.AllScreens)
- {
- if (screen.Bounds.Left < minx) minx = screen.Bounds.Left;
- if (screen.Bounds.Top < miny) miny = screen.Bounds.Top;
- }
- for (int i = Screen.AllScreens.Length; i < Count; i++)
- {
- OrangeGuava.Desktop.DesktopWindow.DesktopControl dtc = (OrangeGuava.Desktop.DesktopWindow.DesktopControl)this[i];
- dtc.Hide();
- }
- for (int i = 0; i < Screen.AllScreens.Length; i++)
- {
- OrangeGuava.Desktop.DesktopWindow.DesktopControl dtc = (OrangeGuava.Desktop.DesktopWindow.DesktopControl)this[i];
- dtc.DeviceId = i.ToString();
- Rectangle r = Screen.AllScreens[i].WorkingArea;
- r.X -= minx;
- r.Y -= miny;
- dtc.SetBounds(r.X, r.Y, r.Width, r.Height);
- dtc.displaySettingsChanged(null, null);
- }
- }
Add Comment
Please, Sign In to add comment