public clsMouse(IntPtr hWnd)
        {
            this._hWnd = hWnd;
            WC.GetWindowRect(hWnd, out this._rctWindow);
            WC.GetClientRect(hWnd, out this._rctClient);
            this._isFullWindowed = this._rctClient.Equals(this._rctWindow);
            if (WC.GetSystemMetrics(WC.SystemMetric.SM_SWAPBUTTON) == 0)
            {
                this._MOUSEEVENTF_PRIMARYDOWN   = 2;
                this._MOUSEEVENTF_PRIMARYUP     = 4;
                this._MOUSEEVENTF_SECONDARYDOWN = 8;
                this._MOUSEEVENTF_SECONDARYUP   = 0x10;
            }
            else
            {
                this._MOUSEEVENTF_PRIMARYDOWN   = 8;
                this._MOUSEEVENTF_PRIMARYUP     = 0x10;
                this._MOUSEEVENTF_SECONDARYDOWN = 2;
                this._MOUSEEVENTF_SECONDARYUP   = 4;
            }
            int x = this._rctWindow.Left + WC.GetSystemMetrics(WC.SystemMetric.SM_CXFRAME);
            int y = (this._rctWindow.Top + WC.GetSystemMetrics(WC.SystemMetric.SM_CYFRAME)) + WC.GetSystemMetrics(WC.SystemMetric.SM_CYCAPTION);

            this._clientRectStart = new Point(x, y);
        }