public PositionedWindowViewModel(PositionedWindow rw) { Title = rw.Title; WindowHandle = rw.WindowHandle.ToString(); Position = rw.Rectangle.ToString(); ShowState = rw.Placement.showCmd.ToString(); Flags = rw.Placement.Flags.ToString(); MoveUnderMouseCommand = new ReactiveCommand(); MoveUnderMouseCommand .Do(_ => { var p = new User32.Point(); User32.GetCursorPos(ref p); User32.SetWindowPos(rw.WindowHandle, IntPtr.Zero, p.X, p.X, 0, 0, (int)(User32.SetWindowPosFlags.SHOWWINDOW | User32.SetWindowPosFlags.NOSIZE)); //User32.MoveTo(rw.WindowHandle, new WindowRectangle(p.X, p.Y, 200, 200)); }).Subscribe(); }
public static User32.Point GetMousePosition() { User32.Point p = new User32.Point(); User32.GetCursorPos(ref p); return(p); }