Beispiel #1
0
        private void InitCallback()
        {
            MouseCallback = (code, wparam, lparam) =>
            {
                if ((int)wparam == MouseUtil.WM_MOUSEMOVE || (int)wparam == MouseUtil.WM_NCMOUSEMOVE)
                {
                    var mhs = (MouseUtil.MouseHookStruct)Marshal.PtrToStructure(lparam, typeof(MouseUtil.MouseHookStruct));

                    x = mhs.pt.x;
                    y = mhs.pt.y;
                    MouseUtil.InvalidateMouseWindow(x, y);

                    label1.Text = string.Format("x : {0} y : {1}", mhs.pt.x, mhs.pt.y);
                }
                return(IntPtr.Zero);
            };

            IPCCallback = (lpString, dwPid) =>
            {
                if (dwPid != 0 && dwPid != OutputUtil.GetCurrentProcessId() && dwPid == OutputUtil.GetMouseWindowPid(x, y))
                {
                    string str = Marshal.PtrToStringAuto(lpString);
                    syncContext.Post((o) =>
                    {
                        this.label2.Text = o.ToString();
                    }, str);
                }
                return(0);
            };
        }
Beispiel #2
0
        private void InitCallback()
        {
            MouseCallback = (code, wparam, lparam) =>
            {
                if ((int)wparam == MouseUtil.WM_MOUSEMOVE || (int)wparam == MouseUtil.WM_NCMOUSEMOVE)
                {
                    var mhs = (MouseUtil.MouseHookStruct)Marshal.PtrToStructure(lparam, typeof(MouseUtil.MouseHookStruct));

                    x = mhs.pt.x;
                    y = mhs.pt.y;
                    MouseUtil.InvalidateMouseWindow(x, y);

                    label1.Text = string.Format("x : {0} y : {1}", mhs.pt.x, mhs.pt.y);
                }
                return IntPtr.Zero;
            };

            IPCCallback = (lpString, dwPid) =>
            {

                if (dwPid != 0 && dwPid != OutputUtil.GetCurrentProcessId() && dwPid == OutputUtil.GetMouseWindowPid(x, y))
                {
                    string str = Marshal.PtrToStringAuto(lpString);
                    syncContext.Post((o) => 
                    {
                        this.label2.Text = o.ToString();
                    }, str);
                }
                return 0;
            };
        }