Пример #1
0
        /// <summary>
        /// マウスフックの削除
        /// </summary>
        /// <param name="_nCode">現在のフックプロシージャに渡されたnCode</param>
        /// <param name="_wParam">現在のフックプロシージャに渡されたwParam</param>
        /// <param name="_lParam">現在のフックプロシージャに渡されたlParam</param>
        /// <returns>フックチェーン内の次のフックプロシージャの戻り値</returns>
        private IntPtr MouseHookProc(int _nCode, IntPtr _wParam, IntPtr _lParam)
        {
            if (_nCode >= 0 && !m_bClose)
            {
                MouseHook.MouseHookStruct mouseHookStruct = (MouseHook.MouseHookStruct)Marshal.PtrToStructure(_lParam, typeof(MouseHook.MouseHookStruct));
                if (mouseHookStruct != null)
                {
                    String strText = "Scale Capture" + "  x = " + mouseHookStruct.pt.x.ToString("d") + " : y = " + mouseHookStruct.pt.y.ToString("d");
                    lblTitle.Text = strText;

                    float    fScale   = (float)(sliderScale.Value * 0.1);
                    Bitmap   bitmap   = new Bitmap(200, 200);
                    Graphics graphics = Graphics.FromImage(bitmap);
                    graphics.CopyFromScreen(mouseHookStruct.pt.x - 100, mouseHookStruct.pt.y - 100, 0, 0, bitmap.Size);
                    graphics.Dispose();

                    m_scaleImgProc.GoImgProc(bitmap, fScale);

                    pictureBox.Image = m_scaleImgProc.bitmap;
                    pictureBox.Refresh();
                }
            }

            return(MouseHook.CallNextHookEx(m_hHook, _nCode, _wParam, _lParam));
        }
        public IntPtr MouseHookProc(int _nCode, IntPtr _wParam, IntPtr _lParam)
        {
            if (_nCode >= 0)
            {
                MouseHook.MouseHookStruct mouseHookStruct = (MouseHook.MouseHookStruct)Marshal.PtrToStructure(_lParam, typeof(MouseHook.MouseHookStruct));

                String strText = "x = " + mouseHookStruct.pt.x.ToString("d") + " : y = " + mouseHookStruct.pt.y.ToString("d");
                this.Text = strText;
            }

            return(MouseHook.CallNextHookEx(m_hHook, _nCode, _wParam, _lParam));
        }
Пример #3
0
        /// <summary>
        /// Handle mouse event.
        /// </summary>
        /// <param name="code">Code.</param>
        /// <param name="msg">Message.</param>
        /// <param name="mouse">Mouse.</param>
        /// <returns>Value which depends on the hook type.</returns>
        private static IntPtr HandleMouseEvent(int code, uint msg, Mouse mouse)
        {
            if (code >= 0)
            {
                lock (stateLocker) {
                    DeviceState state = GetDeviceState(msg, mouse);
                    HandleDeviceEvent(state, oldState);
                    oldState = state;
                }
            }

            return(MouseHook.CallNextHookEx(mouseEventHandle, code, msg, mouse));
        }
Пример #4
0
 private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam)
 {
     if (nCode >= 0 && MouseHook.MouseMessages.WM_MOUSEMOVE == (MouseHook.MouseMessages)wParam)
     {
         MouseHook.MSLLHOOKSTRUCT hookStruct = (MouseHook.MSLLHOOKSTRUCT)Marshal.PtrToStructure(lParam, typeof(MouseHook.MSLLHOOKSTRUCT));
         if (hookStruct.pt.x < 0)
         {
             System.Windows.Forms.Cursor.Position = new System.Drawing.Point(0, hookStruct.pt.y);
             return((IntPtr)1);
         }
     }
     return(MouseHook.CallNextHookEx(_hookID, nCode, wParam, lParam));
 }
Пример #5
0
        /// <summary>
        /// マウスフックの削除
        /// </summary>
        /// <param name="_nCode">現在のフックプロシージャに渡されたnCode</param>
        /// <param name="_wParam">現在のフックプロシージャに渡されたwParam</param>
        /// <param name="_lParam">現在のフックプロシージャに渡されたlParam</param>
        /// <returns>フックチェーン内の次のフックプロシージャの戻り値</returns>
        private IntPtr MouseHookProc(int _nCode, IntPtr _wParam, IntPtr _lParam)
        {
            if (_nCode >= 0)
            {
                MouseHook.MouseHookStruct mouseHookStruct = (MouseHook.MouseHookStruct)Marshal.PtrToStructure(_lParam, typeof(MouseHook.MouseHookStruct));
                if (mouseHookStruct != null)
                {
                    String strText = "Screen Capture" + "  x = " + mouseHookStruct.pt.x.ToString("d") + " : y = " + mouseHookStruct.pt.y.ToString("d");
                    lblTitle.Text = strText;

                    Bitmap   bitmap   = new Bitmap(400, 400);
                    Graphics graphics = Graphics.FromImage(bitmap);
                    graphics.CopyFromScreen(mouseHookStruct.pt.x - 200, mouseHookStruct.pt.y - 200, 0, 0, bitmap.Size);
                    graphics.Dispose();

                    pictureBox.Image = bitmap;
                    pictureBox.Refresh();
                }
            }

            return(MouseHook.CallNextHookEx(m_hHook, _nCode, _wParam, _lParam));
        }