Ejemplo n.º 1
0
        /// <summary>
        /// Get process under mouse cursor
        /// </summary>
        /// <returns></returns>
        public static Process GetProcessAtCoordiante(LgPoint point)
        {
            uint  pid      = 0;
            POINT ptCursor = new POINT(point.X, point.Y);

            IntPtr handle = WindowFromPoint(ptCursor);

            GetWindowThreadProcessId(handle, out pid);

            return(Process.GetProcessById((int)pid));
        }
Ejemplo n.º 2
0
 private IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam)
 {
     if (nCode >= 0 &&
         MouseMessages.WM_LBUTTONDOWN == (MouseMessages)wParam)
     {
         MSLLHOOKSTRUCT hookStruct = (MSLLHOOKSTRUCT)Marshal.PtrToStructure(lParam, typeof(MSLLHOOKSTRUCT));
         LgPoint        point      = new LgPoint(hookStruct.pt.x, hookStruct.pt.y);
         Config?.AddWindow(point);
         Console.WriteLine(hookStruct.pt.x + ", " + hookStruct.pt.y);
     }
     return(CallNextHookEx(_hookID, nCode, wParam, lParam));
 }