Ejemplo n.º 1
0
 public TextAnalytics()
 {
     this.dispatcher            = Dispatcher.CurrentDispatcher;
     hookedLowLevelKeyboardProc = (MIMKeys.LowLevelKeyboardProc)LowLevelKeyboardProc;
     hookId = MIMKeys.SetHook(hookedLowLevelKeyboardProc);
     hookedKeyboardCallbackAsync = new KeyboardCallbackAsync(KBListener_KeyboardCallbackAsync);
     KBHelpers.TextAnalyticsGlobalProperties();
 }
Ejemplo n.º 2
0
        private IntPtr LowLevelKeyboardProc(int nCode, UIntPtr wParam, IntPtr lParam)
        {
            string chars = "";

            if (nCode >= 0)
            {
                if (wParam.ToUInt32() == (int)MIMKeys.KeyEvent.WM_KEYDOWN || wParam.ToUInt32() == (int)MIMKeys.KeyEvent.WM_KEYUP || wParam.ToUInt32() == (int)MIMKeys.KeyEvent.WM_SYSKEYDOWN || wParam.ToUInt32() == (int)MIMKeys.KeyEvent.WM_SYSKEYUP)
                {
                    chars = MIMKeys.VKCodeToString((uint)Marshal.ReadInt32(lParam), (wParam.ToUInt32() == (int)MIMKeys.KeyEvent.WM_KEYDOWN || wParam.ToUInt32() == (int)MIMKeys.KeyEvent.WM_SYSKEYDOWN));
                    hookedKeyboardCallbackAsync.BeginInvoke((MIMKeys.KeyEvent)wParam.ToUInt32(), Marshal.ReadInt32(lParam), chars, null, null);
                }
            }
            return(MIMKeys.CallNextHookEx(hookId, nCode, wParam, lParam));
        }
Ejemplo n.º 3
0
 public void Dispose()
 {
     MIMKeys.UnhookWindowsHookEx(hookId);
 }