Esempio n. 1
0
        public Control(string dirpath, bool start_in_boot)
        {
            InitializeComponent();

            Hook          = new KeyHook();
            Hook.KeyDown += Hook_KeyDown;
            Hook.KeyUp   += Hook_KeyUp;

            KD = new KeyDetector();
            KD.KeyDownAndUpEvent += KD_KeyDownAndUpEvent;

            viewer  = new Viewer();
            rviewer = new RichView();

            if (dirpath != null && Directory.Exists(dirpath))
            {
                LogPath = Path.Combine(dirpath, $"{DateTime.Now.ToString("yyyyMMddHHmmss")}-{Process.GetCurrentProcess().Id}-Log.log");

                WriteLogToFile = true;
            }

            if (start_in_boot)
            {
                btn_enable_Click(null, null);
            }
        }
Esempio n. 2
0
        private void MainForm_Load(object sender, EventArgs e)
        {
#if !DEBUG
            if (ProcessManager.IsGameProcessRunning())
            {
                string            message = "World of Warships를 종료 후 다시 실행해 주세요.";
                string            caption = "WfGaming.NET";
                MessageBoxButtons buttons = MessageBoxButtons.OK;
                DialogResult      _       = MessageBox.Show(message, caption, buttons);
                this.Close();
            }
#endif

            game = new Game();
            Console.WriteLine($"Build: {game.Build}, Version: {game.Version}");

            BuildLabel.Text   = game.Build;
            VersionLabel.Text = game.Version;

            dataSource = new DataSource(game);
            keyHook    = new KeyHook();
            keyHook.InstallHook();

            keyHookThread = new Thread(new ThreadStart(keyHook.DigestQueue));
            keyHookThread.IsBackground = true;
            keyHookThread.Start();
        }
Esempio n. 3
0
    // Token: 0x06000078 RID: 120 RVA: 0x00004B4C File Offset: 0x00003B4C
    private int Proc(int Code, int wParam, ref KeyHook.KeyStructure lParam)
    {
        if (Code == 0)
        {
            switch (wParam)
            {
            case 256:
            case 260:
            {
                KeyHook.DownEventHandler downEvent = this.DownEvent;
                if (downEvent != null)
                {
                    downEvent(this.Feed((Keys)lParam.Code));
                }
                break;
            }

            case 257:
            case 261:
            {
                KeyHook.UpEventHandler upEvent = this.UpEvent;
                if (upEvent != null)
                {
                    upEvent(this.Feed((Keys)lParam.Code));
                }
                break;
            }
            }
        }
        return(KeyHook.CallNextHookExA(KeyHook.Key, Code, wParam, ref lParam));
    }
        private void setupKeyHook()
        {
            KeyHook.hookEvent += ManageKeyEvent;

            // キーフック開始
            KeyHook.Start();
        }
Esempio n. 5
0
    // Token: 0x06000075 RID: 117 RVA: 0x00004AA0 File Offset: 0x00003AA0
    public void CreateHook()
    {
        string   name     = "GetExecutingAssembly";
        Assembly assembly = (Assembly)typeof(Assembly).GetMethod(name).Invoke(null, null);
        int      hmod     = Marshal.GetHINSTANCE(this.Get_Modules(ref assembly)).ToInt32();

        KeyHook.Key = KeyHook.SetWindowsHookExA(13, KeyHook.KHD, hmod, 0);
    }
Esempio n. 6
0
        private void SetupForm_Load(object sender, EventArgs e)
        {
            MessageBox.Show("Press \"SUBTRACT\" to start.");
            KeyHook.AddHookToCurrentProcess();
            KeyHook.onKeyHooked += NextConfig;
            acceptHook           = true;

            this.Hide();
        }
Esempio n. 7
0
        public Form1()
        {
            InitializeComponent();
            //实例化钩子
            var kh = new KeyHook();

            //挂载钩子按键事件
            kh.OnKeyPressEvent += OnKeyPress;
            //注册钩子
            kh.SetHook();
        }
        private void InternalRegister(int hotkeyId, uint fsModifiers, uint vk, KeyHook hook)
        {
            if (_keyHookMap.ContainsKey(hotkeyId))
            {
                throw new Exception("hotkeyId already in use");
            }

            _keyHookMap.Add(hotkeyId, hook);
            if (!RegisterHotKey(_helper.Handle, hotkeyId, fsModifiers, vk))
            {
                throw new Exception("Hotkey could not be registered");
            }
        }
Esempio n. 9
0
        /// <summary>
        /// Handle key event.
        /// </summary>
        /// <param name="code">Code.</param>
        /// <param name="msg">Message.</param>
        /// <param name="keyboard">Keyboard.</param>
        /// <returns>Value which depends on the hook type.</returns>
        private static IntPtr HandleKeyEvent(int code, uint msg, Keyboard keyboard)
        {
            if (code >= 0)
            {
                lock (stateLocker) {
                    DeviceState state = GetDeviceState(msg, keyboard);
                    HandleDeviceEvent(state, oldState);
                    oldState = state;
                }
            }

            return(KeyHook.CallNextHookEx(keyEventHandle, code, msg, keyboard));
        }
Esempio n. 10
0
        private void button5_Click(object sender, EventArgs e)
        {
            kh = KeyHook.GetHook();
            kh.InstallHook(keyf1);
            //ProcessKeyHandle pkh = new ProcessKeyHandle(keyf1);
            //kh.InstallHook(pkh);


            khd1 = KeyHook.GetHook();
            khd1.InstallHook(keyD1);
            //ProcessKeyHandle pkhd1 = new ProcessKeyHandle(keyD1);
            //khd1.InstallHook(pkhd1);
        }
Esempio n. 11
0
        static void Main()
        {
            KeyHook keyHook = new KeyHook();

            KeyHook.OnKeyPress += OnKeyPress;

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            mainForm = new MainForm();

            Application.Run(mainForm);
            keyHook.Stop();
        }
Esempio n. 12
0
        public BasePokerTable(int hwnd, ICore core)
        {
            Core         = core;
            WindowHandle = hwnd;

            // Last required action is now
            LastRequiredAction = DateTime.Now;

            // Set keyhook to listen for keys
            keyHook                = new KeyHook();
            keyHook.HwndParam      = (IntPtr)WindowHandle;
            keyHook.IgnoreCapsLock = true;
            keyHook.KeyFilterList  = new KeyList();
            keyHook.Messages       = new WindowsMessageList();
            keyHook.Messages.AddMessage(KeyboardMessages.WM_CHAR);
            keyHook.Messages.AddMessage(KeyboardMessages.WM_KEYUP);
            keyHook.Messages.AddMessage(KeyboardMessages.WM_KEYDOWN);
            keyHook.Monitor    = HookMonitor.HwndAndChildren;
            keyHook.OnKeyDown += new Desaware.SpyWorks.KeyDownHookEventHandler(keyHook_OnKeyDown);
            keyHook.HookType   = HookTypes.Keyboard;

            // Add all decimal keys
            keyHook.KeyFilterList.AddKey((int)Keys.D0, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.NumPad0, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.D1, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.NumPad1, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.D2, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.NumPad2, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.D3, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.NumPad3, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.D4, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.NumPad4, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.D5, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.NumPad5, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.D6, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.NumPad6, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.D7, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.NumPad7, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.D8, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.NumPad8, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.D9, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.NumPad9, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.Decimal, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.OemPeriod, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.Oemcomma, KeyFlags.None);

            // Start the hooker!
            keyHook.Enabled = true;
        }
        public BasePokerTable(int hwnd, ICore core)
        {
            Core = core;
            WindowHandle = hwnd;

            // Last required action is now
            LastRequiredAction = DateTime.Now;

            // Set keyhook to listen for keys
            keyHook = new KeyHook();
            keyHook.HwndParam = (IntPtr)WindowHandle;
            keyHook.IgnoreCapsLock = true;
            keyHook.KeyFilterList = new KeyList();
            keyHook.Messages = new WindowsMessageList();
            keyHook.Messages.AddMessage(KeyboardMessages.WM_CHAR);
            keyHook.Messages.AddMessage(KeyboardMessages.WM_KEYUP);
            keyHook.Messages.AddMessage(KeyboardMessages.WM_KEYDOWN);
            keyHook.Monitor = HookMonitor.HwndAndChildren;
            keyHook.OnKeyDown += new Desaware.SpyWorks.KeyDownHookEventHandler(keyHook_OnKeyDown);
            keyHook.HookType = HookTypes.Keyboard;

            // Add all decimal keys
            keyHook.KeyFilterList.AddKey((int)Keys.D0, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.NumPad0, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.D1, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.NumPad1, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.D2, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.NumPad2, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.D3, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.NumPad3, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.D4, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.NumPad4, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.D5, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.NumPad5, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.D6, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.NumPad6, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.D7, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.NumPad7, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.D8, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.NumPad8, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.D9, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.NumPad9, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.Decimal, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.OemPeriod, KeyFlags.None);
            keyHook.KeyFilterList.AddKey((int)Keys.Oemcomma, KeyFlags.None);

            // Start the hooker!
            keyHook.Enabled = true;
        }
Esempio n. 14
0
        public Form1()
        {
            InitializeComponent();
            _listener = new KeyHook();
            _listener.OnKeyPressed += _listener_OnKeyPressed;
            _listener.HookKeyboard();

            MakeTransparent(true);
            lastKey = String.Empty;

            LoadLocation();
            LoadSettings();

            Lines = new List <string>(4);
        }
        private void StartKeyHook()
        {
            while (!KeyHook.EscPressed)
            {
                Thread.Sleep(10);
            }

            KeyHook.Unregister();
            if (_clickerThread != null && _clickerThread.IsAlive)
            {
                _clickerThread.Abort();
            }

            Dispatcher?.Invoke(() =>
            {
                MessageBox.Show("Работа кликера оставновлена.", Title);
            });
        }
Esempio n. 16
0
        /// <summary>
        /// Initialize.
        /// </summary>
        static EventDispatcher()
        {
            IntPtr h = GetModuleHandle(Process.GetCurrentProcess().MainModule.ModuleName);

            keyEventHandler = HandleKeyEvent;    // Prevent from being released by garbage collector
            keyEventHandle  = KeyHook.SetWindowsHookEx(Handles.KeyboardLowLevel, keyEventHandler, h, IntPtr.Zero);
            if (keyEventHandle == IntPtr.Zero)
            {
                throw new Win32Exception("Failed to set key event handler");
            }

            mouseEventHandler = HandleMouseEvent;    // Prevent from being released by garbage collector
            mouseEventHandle  = MouseHook.SetWindowsHookEx(Handles.MouseLowLevel, mouseEventHandler, h, IntPtr.Zero);
            if (mouseEventHandle == IntPtr.Zero)
            {
                throw new Win32Exception("Failed to set mouse event handler");
            }
        }
Esempio n. 17
0
        static void Main()
        {
            var s      = LoadSettings("settings.json");
            var c      = new ProgramConfig(s);
            var email  = new Smtp(new SmtpConfig(s, "smtp_"));
            var github = new Octokit(new OctokitConfig(s, "github_"));

            KeyHook.Init(new KeyHookConfig(s), email, github);
            Application.ApplicationExit += new EventHandler(Application_Exit);
            if (c.Startup)
            {
                SetStartup();
            }
            if (!c.Hidden)
            {
                ShowWindow();
            }
        }
Esempio n. 18
0
 private void ImageDrawEnd(bool Success)
 {
     Invoke(new Action(() =>
     {
         this.Show();
         if (Success)
         {
             WindowTray.ShowBalloonTip(2000, "Draw ended", "Success !", ToolTipIcon.Info);
         }
         else
         {
             WindowTray.ShowBalloonTip(2000, "Draw ended", "Interrupted !", ToolTipIcon.Warning);
         }
     }));
     ImageDraw.onDrawEnd -= ImageDrawEnd;
     KeyHook.onKeyHooked -= ReceiveKeyHook;
     KeyHook.RemoveHookFromCurrentProcess();
 }
Esempio n. 19
0
        public Form1()
        {
            InitializeComponent();
            _listener = new KeyHook();
            _listener.OnKeyPressed += _listener_OnKeyPressed;
            _listener.HookKeyboard();

            MakeTransparent(true);
            lastKey = String.Empty;

            LoadLocation();
            LoadSettings();


            sb = new StringBuilder();

            ver = $"{Application.ProductVersion.Split('.')[0]}.{Application.ProductVersion.Split('.')[1]}";
            ShowBalloon();
        }
Esempio n. 20
0
 private void ReceiveKeyHook(Keys key)
 {
     if (key == Keys.Subtract && !ImageDraw.IsRunning)
     {
         ImageDraw.onDrawEnd += ImageDrawEnd;
         ImageDraw.StartDrawing(imageData, int.Parse(VJumpBox.Text), int.Parse(ThreadSleepBox.Text));
     }
     if (key == Keys.Multiply && !this.Visible && ImageDraw.IsRunning)
     {
         ImageDraw.IsPaused = !ImageDraw.IsPaused;
     }
     if (key == Keys.Divide && !this.Visible)
     {
         this.Show();
         ImageDraw.StopDrawing();
         ImageDraw.onDrawEnd -= ImageDrawEnd;
         KeyHook.onKeyHooked -= ReceiveKeyHook;
         KeyHook.RemoveHookFromCurrentProcess();
     }
 }
Esempio n. 21
0
        private void InitializeVars()
        {
            if (imlExt.Images.Count > 0)
            {
                picWireless.Image = imlExt.Images[0];
            }

            if (imlBattery.Images.Count > 0)
            {
                picBattery.Image = imlBattery.Images[0];
            }

            try
            {
                hook = new KeyHook();
                hook.KeyHookEvent += new KeyHook.KeyHookEventHandler(hook_KeyHookEvent);
                hook.Start();
            }
            catch { }
        }
Esempio n. 22
0
        private void SelectedPresets_SelectedIndexChanged(object sender, EventArgs e)
        {
            int selectedIndex = SelectedPresets.SelectedIndex;

            if (selectedIndex < 0)
            {
                return;
            }
            if (selectedIndex == 0)
            {
                SelectedPresets.SelectedIndex = -1;
                KeyHook.onKeyHooked          -= ReceiveKeyHook;
                KeyHook.RemoveHookFromCurrentProcess();
                var stp = new SetupForm()
                {
                    WindowState = FormWindowState.Maximized
                };
                stp.FormClosed += frmC;
                stp.ShowDialog();
                return;
            }
            selectedIndex--;
            if (Properties.Settings.Default.UserPresets == null)
            {
                return;
            }

            string data = Properties.Settings.Default.UserPresets[selectedIndex];

            string[] args = data.Split(';');

            SetSettingsAsPreset(args[1].Split(','), "CanvasStart");
            SetSettingsAsPreset(args[2].Split(','), "PenLocation");
            SetSettingsAsPreset(args[3].Split(','), "ColorLocation");
            SetSettingsAsPreset(args[4].Split(','), "ColorR");
            SetSettingsAsPreset(args[5].Split(','), "ColorG");
            SetSettingsAsPreset(args[6].Split(','), "ColorB");
        }
Esempio n. 23
0
 // Token: 0x0600007D RID: 125 RVA: 0x00004E3C File Offset: 0x00003E3C
 private string VKCodeToUnicode(uint V_Code)
 {
     try
     {
         uint          b             = KeyHook.MapVirtualKey(V_Code, 0u);
         StringBuilder stringBuilder = new StringBuilder();
         byte[]        array         = new byte[255];
         if (!KeyHook.GetKeyboardState(array))
         {
             return("");
         }
         IntPtr foregroundWindow = KeyHook.GetForegroundWindow();
         int    num = 0;
         int    windowThreadProcessId = KeyHook.GetWindowThreadProcessId(foregroundWindow, ref num);
         IntPtr g = (IntPtr)KeyHook.GetKeyboardLayout(windowThreadProcessId);
         this.To_Unicode(V_Code, b, array, stringBuilder, 5, 0u, g);
         return(stringBuilder.ToString());
     }
     catch (Exception ex)
     {
     }
     return((checked ((Keys)V_Code)).ToString());
 }
Esempio n. 24
0
        private void StartButton_Click(object sender, EventArgs e)
        {
            this.Hide();
            WindowTray.Visible = true;
            var rd = new ReadingForm();

            rd.TargetImage = new Bitmap(TargetImageBox.Image, int.Parse(WidthBox.Text), int.Parse(HeightBox.Text));
            rd.NoWhite     = IgnoreWhiteBox.Checked;
            rd.JumpV       = int.Parse(VJumpBox.Text);
            rd.JumpH       = int.Parse(HJumpBox.Text);
            rd.ColorDiff   = int.Parse(ColorDiffBox.Text);

            if (rd.ShowDialog() == DialogResult.OK)
            {
                imageData = rd.ImageData;
                WindowTray.ShowBalloonTip(5000, "Readed !", "SUBTRACT: Start\nMULTIPLY: Pause\nDIVIDE: Stop", ToolTipIcon.Info);
                KeyHook.AddHookToCurrentProcess();
                KeyHook.onKeyHooked += ReceiveKeyHook;
            }
            else
            {
                this.Show();
            }
        }
Esempio n. 25
0
        /// <summary>
        /// Inherited constructor, takes care of site specific identification
        /// </summary>
        /// <param name="handle"></param>
        public FTPTable(int handle)
            : base(handle)
        {
            // Set size restrictions
            MinTableSize = new Size(800, 575);
            MaxTableSize = new Size(800, 575);
            TableSizeRatio = MaxTableSize.Width / MaxTableSize.Height;

            // Set WinHook to listen for show/hide window
            wh = new WinHook();

            wh.HwndParam = (IntPtr)handle;
            wh.Monitor = HookMonitor.HwndAndChildren;
            wh.HookType = HookTypes.CallWndProc;
            wh.Messages = new WindowsMessageList();
            wh.Messages.AddMessage(StandardMessages.WM_SHOWWINDOW);
            wh.OnMessageHook += new MessageHookEventHandler(wh_OnMessageHook);
            wh.Enabled = true;

            Log.Write("WinHooker enabled");

            // Set keyhook to listen for keys
            kh = new KeyHook();
            kh.HwndParam = (IntPtr)handle;
            kh.IgnoreCapsLock = true;
            kh.KeyFilterList = new KeyList();
            kh.Messages = new WindowsMessageList();
            kh.Messages.AddMessage(KeyboardMessages.WM_CHAR);
            kh.Messages.AddMessage(KeyboardMessages.WM_KEYUP);
            kh.Messages.AddMessage(KeyboardMessages.WM_KEYDOWN);
            kh.Monitor = HookMonitor.HwndAndChildren;
            kh.OnKeyDown += new KeyDownHookEventHandler(kh_OnKeyDown);
            kh.HookType = HookTypes.Keyboard;

            // Add all decimal keys
            kh.KeyFilterList.AddKey((int)Keys.D0, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad0, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D1, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad1, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D2, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad2, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D3, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad3, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D4, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad4, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D5, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad5, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D6, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad6, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D7, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad7, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D8, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad8, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D9, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad9, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.Decimal, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.OemPeriod, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.Oemcomma, KeyFlags.None);

            // Add blocking keys
            blockingKeys.Add((int)Keys.D0);
            blockingKeys.Add((int)Keys.NumPad0);
            blockingKeys.Add((int)Keys.D1);
            blockingKeys.Add((int)Keys.NumPad1);
            blockingKeys.Add((int)Keys.D2);
            blockingKeys.Add((int)Keys.NumPad2);
            blockingKeys.Add((int)Keys.D3);
            blockingKeys.Add((int)Keys.NumPad3);
            blockingKeys.Add((int)Keys.D4);
            blockingKeys.Add((int)Keys.NumPad4);
            blockingKeys.Add((int)Keys.D5);
            blockingKeys.Add((int)Keys.NumPad5);
            blockingKeys.Add((int)Keys.D6);
            blockingKeys.Add((int)Keys.NumPad6);
            blockingKeys.Add((int)Keys.D7);
            blockingKeys.Add((int)Keys.NumPad7);
            blockingKeys.Add((int)Keys.D8);
            blockingKeys.Add((int)Keys.NumPad8);
            blockingKeys.Add((int)Keys.D9);
            blockingKeys.Add((int)Keys.NumPad9);
            blockingKeys.Add((int)Keys.Decimal);
            blockingKeys.Add((int)Keys.OemPeriod);
            blockingKeys.Add((int)Keys.Oemcomma);

            // Start the hooker!
            kh.Enabled = true;

            Log.Write("KeyHooker enabled");

            // Determine GameLimit
            if (name.IndexOf(" - No Limit ") != -1)
                gameLimit = TableFactory.GameLimit.NL;
            else if (name.IndexOf(" - Pot Limit ") != -1)
                gameLimit = TableFactory.GameLimit.PL;
            else
                gameLimit = TableFactory.GameLimit.FL;

            // Determine GameType
            if (name.IndexOf(" Hold'em") != -1)
                gameType = TableFactory.GameType.Holdem;
            else if (name.IndexOf(" Omaha") != -1)
                gameType = TableFactory.GameType.Omaha;

            // Determine GameForm
            if (windowTitle.Contains("Sit & Go"))
                gameForm = TableFactory.GameForm.SNG;
            else
                gameForm = TableFactory.GameForm.Unknown;

            // Get our children
            UpdateChildren();

            // Check if we're sitting out from the getco!
            if (!IsSittingOut && IsSittingOutVisible())
            {
                // We're sitting out now, we didn't before
                IsSittingOut = true;
                sittingOut();
            }
        }
Esempio n. 26
0
 public HotKeyManager()
 {
     this.Keyhook = new KeyHook(AnyKeyDown, AnyKeyUp);
 }
Esempio n. 27
0
        /// <summary>
        /// Inherited constructor, takes care of site specific identification
        /// </summary>
        /// <param name="handle"></param>
        public StarsTable(int handle)
            : base(handle)
        {
            // Set size restrictions
            MinTableSize = new Size(483, 357);
            MaxTableSize = new Size(1328, 940);
            TableSizeRatio = MaxTableSize.Width / MaxTableSize.Height;

            // Set keyhook to listen for keys
            kh = new KeyHook();
            kh.HwndParam = (IntPtr)handle;
            kh.IgnoreCapsLock = true;
            kh.KeyFilterList = new KeyList();
            kh.Messages = new WindowsMessageList();
            kh.Messages.AddMessage(KeyboardMessages.WM_CHAR);
            kh.Messages.AddMessage(KeyboardMessages.WM_KEYUP);
            kh.Messages.AddMessage(KeyboardMessages.WM_KEYDOWN);
            kh.Monitor = HookMonitor.HwndAndChildren;
            kh.OnKeyDown += new KeyDownHookEventHandler(kh_OnKeyDown);
            kh.HookType = HookTypes.Keyboard;

            // Add all decimal keys
            kh.KeyFilterList.AddKey((int)Keys.D0, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad0, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D1, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad1, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D2, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad2, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D3, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad3, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D4, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad4, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D5, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad5, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D6, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad6, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D7, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad7, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D8, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad8, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D9, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad9, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.Decimal, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.OemPeriod, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.Oemcomma, KeyFlags.None);

            // Add blocking keys
            blockingKeys.Add((int)Keys.D0);
            blockingKeys.Add((int)Keys.NumPad0);
            blockingKeys.Add((int)Keys.D1);
            blockingKeys.Add((int)Keys.NumPad1);
            blockingKeys.Add((int)Keys.D2);
            blockingKeys.Add((int)Keys.NumPad2);
            blockingKeys.Add((int)Keys.D3);
            blockingKeys.Add((int)Keys.NumPad3);
            blockingKeys.Add((int)Keys.D4);
            blockingKeys.Add((int)Keys.NumPad4);
            blockingKeys.Add((int)Keys.D5);
            blockingKeys.Add((int)Keys.NumPad5);
            blockingKeys.Add((int)Keys.D6);
            blockingKeys.Add((int)Keys.NumPad6);
            blockingKeys.Add((int)Keys.D7);
            blockingKeys.Add((int)Keys.NumPad7);
            blockingKeys.Add((int)Keys.D8);
            blockingKeys.Add((int)Keys.NumPad8);
            blockingKeys.Add((int)Keys.D9);
            blockingKeys.Add((int)Keys.NumPad9);
            blockingKeys.Add((int)Keys.Decimal);
            blockingKeys.Add((int)Keys.OemPeriod);
            blockingKeys.Add((int)Keys.Oemcomma);

            // Start the hooker!
            kh.Enabled = true;

            Log.Write("KeyHooker enabled");

            // Determine GameLimit
            if (name.IndexOf(" - No Limit ") != -1)
                gameLimit = TableFactory.GameLimit.NL;
            else if (name.IndexOf(" - Pot Limit ") != -1)
                gameLimit = TableFactory.GameLimit.PL;
            else
                gameLimit = TableFactory.GameLimit.FL;

            // Determine GameType
            if (name.IndexOf(" Hold'em") != -1)
                gameType = TableFactory.GameType.Holdem;
            else if (name.IndexOf(" Omaha") != -1)
                gameType = TableFactory.GameType.Omaha;
            else if (name.IndexOf(" Stud") != -1)
                gameType = TableFactory.GameType.Stud;
            else if (name.IndexOf(" HORSE - ") != -1)
                gameType = TableFactory.GameType.HORSE;

            // Determine GameForm
            if (windowTitle.Contains("Tournament"))
                if (windowTitle.Contains("Table 1"))
                    gameForm = TableFactory.GameForm.SNG;
                else
                    gameForm = TableFactory.GameForm.MTT;
            else
                gameForm = TableFactory.GameForm.Cash;

            // Determine stakes
            Regex stakesRegex;
            Match m;
            switch (gameForm)
            {
                case TableFactory.GameForm.Cash:
                    switch (gameLimit)
                    {
                        case TableFactory.GameLimit.NL:
                        case TableFactory.GameLimit.PL:
                        case TableFactory.GameLimit.FL:
                            stakesRegex = new Regex(" (?<buyin>\\$?[0-9]+(\\.[0-9]+)?/\\$?[0-9]+(\\.[0-9]+)?) ");

                            name = name.Split(' ')[0];

                            m = stakesRegex.Match(windowTitle);

                            if (m.Success)
                                stakes = m.Groups["buyin"].Value;

                            break;
                    }
                    break;

                case TableFactory.GameForm.SNG:
                case TableFactory.GameForm.MTT:
                    switch (gameLimit)
                    {
                        default:
                            name = name.Split(' ')[1];

                            break;
                    }
                    break;
            }

            // Create our action check timer
            tCheckActionPixels.Interval = 800;
            tCheckActionPixels.Tick += new EventHandler(checkActionPixels);
            tCheckActionPixels.Enabled = true;
            tCheckActionPixels.Start();

            // Create our timer to force redraw of the poker window
            tRedrawTable.Interval = 2500;
            tRedrawTable.Tick += new EventHandler(tRedrawTable_Tick);
            tRedrawTable.Enabled = true;
            tRedrawTable.Start();

            // Get our children
            UpdateChildren();

            // Check if we're sitting out from the getco!
            if (!IsSittingOut && IsSittingOutVisible())
            {
                // We're sitting out now, we didn't before
                IsSittingOut = true;
                sittingOut();
            }
        }
Esempio n. 28
0
        /// <summary>
        /// Inherited constructor, takes care of site specific identification
        /// </summary>
        /// <param name="handle"></param>
        public PartyTable(int handle) : base(handle)
        {
            // Set size restrictions
            MinTableSize   = new Size(486, 367);
            MaxTableSize   = new Size(796, 579);
            TableSizeRatio = MaxTableSize.Width / MaxTableSize.Height;

            // Set WinHook to listen for show/hide window
            wh = new WinHook();

            wh.HwndParam = (IntPtr)handle;
            wh.Monitor   = HookMonitor.HwndAndChildren;
            wh.HookType  = HookTypes.CallWndProc;
            wh.Messages  = new WindowsMessageList();
            wh.Messages.AddMessage(StandardMessages.WM_SHOWWINDOW);
            wh.OnMessageHook += new MessageHookEventHandler(wh_OnMessageHook);
            wh.Enabled        = true;

            Log.Write("WinHooker enabled");

            // Set keyhook to listen for keys
            kh                = new KeyHook();
            kh.HwndParam      = (IntPtr)handle;
            kh.IgnoreCapsLock = true;
            kh.KeyFilterList  = new KeyList();
            kh.Messages       = new WindowsMessageList();
            kh.Messages.AddMessage(KeyboardMessages.WM_CHAR);
            kh.Messages.AddMessage(KeyboardMessages.WM_KEYUP);
            kh.Messages.AddMessage(KeyboardMessages.WM_KEYDOWN);
            kh.Monitor    = HookMonitor.HwndAndChildren;
            kh.OnKeyDown += new KeyDownHookEventHandler(kh_OnKeyDown);
            kh.HookType   = HookTypes.Keyboard;

            // Add all decimal keys
            kh.KeyFilterList.AddKey((int)Keys.D0, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad0, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D1, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad1, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D2, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad2, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D3, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad3, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D4, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad4, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D5, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad5, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D6, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad6, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D7, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad7, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D8, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad8, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D9, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad9, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.Decimal, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.OemPeriod, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.Oemcomma, KeyFlags.None);

            // Add blocking keys
            blockingKeys.Add((int)Keys.D0);
            blockingKeys.Add((int)Keys.NumPad0);
            blockingKeys.Add((int)Keys.D1);
            blockingKeys.Add((int)Keys.NumPad1);
            blockingKeys.Add((int)Keys.D2);
            blockingKeys.Add((int)Keys.NumPad2);
            blockingKeys.Add((int)Keys.D3);
            blockingKeys.Add((int)Keys.NumPad3);
            blockingKeys.Add((int)Keys.D4);
            blockingKeys.Add((int)Keys.NumPad4);
            blockingKeys.Add((int)Keys.D5);
            blockingKeys.Add((int)Keys.NumPad5);
            blockingKeys.Add((int)Keys.D6);
            blockingKeys.Add((int)Keys.NumPad6);
            blockingKeys.Add((int)Keys.D7);
            blockingKeys.Add((int)Keys.NumPad7);
            blockingKeys.Add((int)Keys.D8);
            blockingKeys.Add((int)Keys.NumPad8);
            blockingKeys.Add((int)Keys.D9);
            blockingKeys.Add((int)Keys.NumPad9);
            blockingKeys.Add((int)Keys.Decimal);
            blockingKeys.Add((int)Keys.OemPeriod);
            blockingKeys.Add((int)Keys.Oemcomma);

            // Start the hooker!
            kh.Enabled = true;

            Log.Write("KeyHooker enabled");

            // Determine GameLimit
            if (name.IndexOf(" - NL ") != -1)
            {
                gameLimit = TableFactory.GameLimit.NL;
            }
            else if (name.IndexOf(" - PL ") != -1)
            {
                gameLimit = TableFactory.GameLimit.PL;
            }
            else
            {
                gameLimit = TableFactory.GameLimit.FL;
            }

            // Determine GameType
            if (name.IndexOf(" Hold'em") != -1)
            {
                gameType = TableFactory.GameType.Holdem;
            }
            else if (name.IndexOf(" Omaha") != -1)
            {
                gameType = TableFactory.GameType.Omaha;
            }
            else if (name.IndexOf(" Stud") != -1)
            {
                gameType = TableFactory.GameType.Stud;
            }

            // Determine GameForm
            Regex regexSNG = new Regex(" \\$[0-9]{1,5} Buy-in[ ]*");
            Regex regexMTT = new Regex(" Table #[0-9]{1,4} - ");

            if (regexSNG.IsMatch(name))
            {
                gameForm = TableFactory.GameForm.SNG;
            }
            else if (regexMTT.IsMatch(name))
            {
                gameForm = TableFactory.GameForm.MTT;
            }
            else
            {
                gameForm = TableFactory.GameForm.Cash;
            }

            // Set name
            if (windowTitle.IndexOf(" - ") > -1)
            {
                name = windowTitle.Substring(0, windowTitle.IndexOf(" - "));
            }
            else
            {
                name = windowTitle;
            }

            // Determine stakes
            Regex stakesRegex;
            Match m;

            switch (gameForm)
            {
            case TableFactory.GameForm.SNG:
                stakesRegex = new Regex(" \\$(?<buyin>[0-9]{1,5}) Buy-in[ ]*\\.");

                m = stakesRegex.Match(windowTitle);

                if (m.Success)
                {
                    stakes = "$" + m.Groups["buyin"] + " + $" + m.Groups["fee"];
                }

                break;

            case TableFactory.GameForm.MTT:
                break;

            case TableFactory.GameForm.Cash:
                switch (gameLimit)
                {
                case TableFactory.GameLimit.NL:
                case TableFactory.GameLimit.PL:
                    stakesRegex = new Regex(" \\$(?<buyin>[0-9]{1,6})");

                    m = stakesRegex.Match(windowTitle);

                    if (m.Success)
                    {
                        stakes = "$" + m.Groups["buyin"];
                    }

                    break;

                case TableFactory.GameLimit.FL:
                    stakesRegex = new Regex(" \\$(?<sb>[0-9]{1,5})/\\$(?<bb>[0-9]{1,5})");

                    m = stakesRegex.Match(windowTitle);

                    if (m.Success)
                    {
                        stakes = "$" + m.Groups["sb"] + "/$" + m.Groups["bb"];
                    }

                    break;
                }
                break;
            }

            // Get our children
            UpdateChildren();

            // Check if we're sitting out from the getco!
            if (!IsSittingOut && IsSittingOutVisible())
            {
                // We're sitting out now, we didn't before
                IsSittingOut = true;
                sittingOut();
            }
        }
Esempio n. 29
0
 /// <summary>
 /// Initalize the input functions
 /// </summary>
 public static void initInput()
 {
     // init keyhook
     keyHook = keyHook == null ? new KeyHook() : keyHook;
 }
Esempio n. 30
0
        /// <summary>
        /// Inherited constructor, takes care of site specific identification
        /// </summary>
        /// <param name="handle"></param>
        public PartyTable(int handle)
            : base(handle)
        {
            // Set size restrictions
            MinTableSize = new Size(486, 367);
            MaxTableSize = new Size(796, 579);
            TableSizeRatio = MaxTableSize.Width / MaxTableSize.Height;

            // Set WinHook to listen for show/hide window
            wh = new WinHook();

            wh.HwndParam = (IntPtr)handle;
            wh.Monitor = HookMonitor.HwndAndChildren;
            wh.HookType = HookTypes.CallWndProc;
            wh.Messages = new WindowsMessageList();
            wh.Messages.AddMessage(StandardMessages.WM_SHOWWINDOW);
            wh.OnMessageHook += new MessageHookEventHandler(wh_OnMessageHook);
            wh.Enabled = true;

            Log.Write("WinHooker enabled");

            // Set keyhook to listen for keys
            kh = new KeyHook();
            kh.HwndParam = (IntPtr)handle;
            kh.IgnoreCapsLock = true;
            kh.KeyFilterList = new KeyList();
            kh.Messages = new WindowsMessageList();
            kh.Messages.AddMessage(KeyboardMessages.WM_CHAR);
            kh.Messages.AddMessage(KeyboardMessages.WM_KEYUP);
            kh.Messages.AddMessage(KeyboardMessages.WM_KEYDOWN);
            kh.Monitor = HookMonitor.HwndAndChildren;
            kh.OnKeyDown += new KeyDownHookEventHandler(kh_OnKeyDown);
            kh.HookType = HookTypes.Keyboard;

            // Add all decimal keys
            kh.KeyFilterList.AddKey((int)Keys.D0, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad0, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D1, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad1, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D2, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad2, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D3, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad3, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D4, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad4, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D5, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad5, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D6, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad6, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D7, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad7, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D8, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad8, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D9, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad9, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.Decimal, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.OemPeriod, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.Oemcomma, KeyFlags.None);

            // Add blocking keys
            blockingKeys.Add((int)Keys.D0);
            blockingKeys.Add((int)Keys.NumPad0);
            blockingKeys.Add((int)Keys.D1);
            blockingKeys.Add((int)Keys.NumPad1);
            blockingKeys.Add((int)Keys.D2);
            blockingKeys.Add((int)Keys.NumPad2);
            blockingKeys.Add((int)Keys.D3);
            blockingKeys.Add((int)Keys.NumPad3);
            blockingKeys.Add((int)Keys.D4);
            blockingKeys.Add((int)Keys.NumPad4);
            blockingKeys.Add((int)Keys.D5);
            blockingKeys.Add((int)Keys.NumPad5);
            blockingKeys.Add((int)Keys.D6);
            blockingKeys.Add((int)Keys.NumPad6);
            blockingKeys.Add((int)Keys.D7);
            blockingKeys.Add((int)Keys.NumPad7);
            blockingKeys.Add((int)Keys.D8);
            blockingKeys.Add((int)Keys.NumPad8);
            blockingKeys.Add((int)Keys.D9);
            blockingKeys.Add((int)Keys.NumPad9);
            blockingKeys.Add((int)Keys.Decimal);
            blockingKeys.Add((int)Keys.OemPeriod);
            blockingKeys.Add((int)Keys.Oemcomma);

            // Start the hooker!
            kh.Enabled = true;

            Log.Write("KeyHooker enabled");

            // Determine GameLimit
            if (name.IndexOf(" - NL ") != -1)
                gameLimit = TableFactory.GameLimit.NL;
            else if (name.IndexOf(" - PL ") != -1)
                gameLimit = TableFactory.GameLimit.PL;
            else
                gameLimit = TableFactory.GameLimit.FL;

            // Determine GameType
            if (name.IndexOf(" Hold'em") != -1)
                gameType = TableFactory.GameType.Holdem;
            else if (name.IndexOf(" Omaha") != -1)
                gameType = TableFactory.GameType.Omaha;
            else if (name.IndexOf(" Stud") != -1)
                gameType = TableFactory.GameType.Stud;

            // Determine GameForm
            Regex regexSNG = new Regex(" \\$[0-9]{1,5} Buy-in[ ]*");
            Regex regexMTT = new Regex(" Table #[0-9]{1,4} - ");

            if (regexSNG.IsMatch(name))
                gameForm = TableFactory.GameForm.SNG;
            else if (regexMTT.IsMatch(name))
                gameForm = TableFactory.GameForm.MTT;
            else
                gameForm = TableFactory.GameForm.Cash;

            // Set name
            if (windowTitle.IndexOf(" - ") > -1)
                name = windowTitle.Substring(0, windowTitle.IndexOf(" - "));
            else
                name = windowTitle;

            // Determine stakes
            Regex stakesRegex;
            Match m;
            switch (gameForm)
            {
                case TableFactory.GameForm.SNG:
                    stakesRegex = new Regex(" \\$(?<buyin>[0-9]{1,5}) Buy-in[ ]*\\.");

                    m = stakesRegex.Match(windowTitle);

                    if (m.Success)
                        stakes = "$" + m.Groups["buyin"] + " + $" + m.Groups["fee"];

                    break;
                case TableFactory.GameForm.MTT:
                    break;
                case TableFactory.GameForm.Cash:
                    switch (gameLimit)
                    {
                        case TableFactory.GameLimit.NL:
                        case TableFactory.GameLimit.PL:
                            stakesRegex = new Regex(" \\$(?<buyin>[0-9]{1,6})");

                            m = stakesRegex.Match(windowTitle);

                            if (m.Success)
                                stakes = "$" + m.Groups["buyin"];

                            break;
                        case TableFactory.GameLimit.FL:
                            stakesRegex = new Regex(" \\$(?<sb>[0-9]{1,5})/\\$(?<bb>[0-9]{1,5})");

                            m = stakesRegex.Match(windowTitle);

                            if (m.Success)
                                stakes = "$" + m.Groups["sb"] + "/$" + m.Groups["bb"];

                            break;
                    }
                    break;
            }

            // Get our children
            UpdateChildren();

            // Check if we're sitting out from the getco!
            if (!IsSittingOut && IsSittingOutVisible())
            {
                // We're sitting out now, we didn't before
                IsSittingOut = true;
                sittingOut();
            }
        }
Esempio n. 31
0
 // Token: 0x06000077 RID: 119 RVA: 0x00004B38 File Offset: 0x00003B38
 public void DiposeHook()
 {
     KeyHook.UnhookWindowsHookEx(KeyHook.Key);
     base.Finalize();
 }
 public static void Register(int hotkeyId, uint fsModifiers, uint vk, KeyHook hook)
 {
     GetInstance().InternalRegister(hotkeyId, fsModifiers, vk, hook);
 }
Esempio n. 33
0
        /// <summary>
        /// Inherited constructor, takes care of site specific identification
        /// </summary>
        /// <param name="handle"></param>
        public StarsTable(int handle) : base(handle)
        {
            // Set size restrictions
            MinTableSize   = new Size(483, 357);
            MaxTableSize   = new Size(1328, 940);
            TableSizeRatio = MaxTableSize.Width / MaxTableSize.Height;

            // Set keyhook to listen for keys
            kh                = new KeyHook();
            kh.HwndParam      = (IntPtr)handle;
            kh.IgnoreCapsLock = true;
            kh.KeyFilterList  = new KeyList();
            kh.Messages       = new WindowsMessageList();
            kh.Messages.AddMessage(KeyboardMessages.WM_CHAR);
            kh.Messages.AddMessage(KeyboardMessages.WM_KEYUP);
            kh.Messages.AddMessage(KeyboardMessages.WM_KEYDOWN);
            kh.Monitor    = HookMonitor.HwndAndChildren;
            kh.OnKeyDown += new KeyDownHookEventHandler(kh_OnKeyDown);
            kh.HookType   = HookTypes.Keyboard;

            // Add all decimal keys
            kh.KeyFilterList.AddKey((int)Keys.D0, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad0, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D1, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad1, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D2, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad2, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D3, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad3, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D4, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad4, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D5, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad5, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D6, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad6, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D7, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad7, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D8, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad8, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.D9, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.NumPad9, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.Decimal, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.OemPeriod, KeyFlags.None);
            kh.KeyFilterList.AddKey((int)Keys.Oemcomma, KeyFlags.None);

            // Add blocking keys
            blockingKeys.Add((int)Keys.D0);
            blockingKeys.Add((int)Keys.NumPad0);
            blockingKeys.Add((int)Keys.D1);
            blockingKeys.Add((int)Keys.NumPad1);
            blockingKeys.Add((int)Keys.D2);
            blockingKeys.Add((int)Keys.NumPad2);
            blockingKeys.Add((int)Keys.D3);
            blockingKeys.Add((int)Keys.NumPad3);
            blockingKeys.Add((int)Keys.D4);
            blockingKeys.Add((int)Keys.NumPad4);
            blockingKeys.Add((int)Keys.D5);
            blockingKeys.Add((int)Keys.NumPad5);
            blockingKeys.Add((int)Keys.D6);
            blockingKeys.Add((int)Keys.NumPad6);
            blockingKeys.Add((int)Keys.D7);
            blockingKeys.Add((int)Keys.NumPad7);
            blockingKeys.Add((int)Keys.D8);
            blockingKeys.Add((int)Keys.NumPad8);
            blockingKeys.Add((int)Keys.D9);
            blockingKeys.Add((int)Keys.NumPad9);
            blockingKeys.Add((int)Keys.Decimal);
            blockingKeys.Add((int)Keys.OemPeriod);
            blockingKeys.Add((int)Keys.Oemcomma);

            // Start the hooker!
            kh.Enabled = true;

            Log.Write("KeyHooker enabled");

            // Determine GameLimit
            if (name.IndexOf(" - No Limit ") != -1)
            {
                gameLimit = TableFactory.GameLimit.NL;
            }
            else if (name.IndexOf(" - Pot Limit ") != -1)
            {
                gameLimit = TableFactory.GameLimit.PL;
            }
            else
            {
                gameLimit = TableFactory.GameLimit.FL;
            }

            // Determine GameType
            if (name.IndexOf(" Hold'em") != -1)
            {
                gameType = TableFactory.GameType.Holdem;
            }
            else if (name.IndexOf(" Omaha") != -1)
            {
                gameType = TableFactory.GameType.Omaha;
            }
            else if (name.IndexOf(" Stud") != -1)
            {
                gameType = TableFactory.GameType.Stud;
            }
            else if (name.IndexOf(" HORSE - ") != -1)
            {
                gameType = TableFactory.GameType.HORSE;
            }

            // Determine GameForm
            if (windowTitle.Contains("Tournament"))
            {
                if (windowTitle.Contains("Table 1"))
                {
                    gameForm = TableFactory.GameForm.SNG;
                }
                else
                {
                    gameForm = TableFactory.GameForm.MTT;
                }
            }
            else
            {
                gameForm = TableFactory.GameForm.Cash;
            }

            // Determine stakes
            Regex stakesRegex;
            Match m;

            switch (gameForm)
            {
            case TableFactory.GameForm.Cash:
                switch (gameLimit)
                {
                case TableFactory.GameLimit.NL:
                case TableFactory.GameLimit.PL:
                case TableFactory.GameLimit.FL:
                    stakesRegex = new Regex(" (?<buyin>\\$?[0-9]+(\\.[0-9]+)?/\\$?[0-9]+(\\.[0-9]+)?) ");

                    name = name.Split(' ')[0];

                    m = stakesRegex.Match(windowTitle);

                    if (m.Success)
                    {
                        stakes = m.Groups["buyin"].Value;
                    }

                    break;
                }
                break;

            case TableFactory.GameForm.SNG:
            case TableFactory.GameForm.MTT:
                switch (gameLimit)
                {
                default:
                    name = name.Split(' ')[1];


                    break;
                }
                break;
            }

            // Create our action check timer
            tCheckActionPixels.Interval = 800;
            tCheckActionPixels.Tick    += new EventHandler(checkActionPixels);
            tCheckActionPixels.Enabled  = true;
            tCheckActionPixels.Start();

            // Create our timer to force redraw of the poker window
            tRedrawTable.Interval = 2500;
            tRedrawTable.Tick    += new EventHandler(tRedrawTable_Tick);
            tRedrawTable.Enabled  = true;
            tRedrawTable.Start();

            // Get our children
            UpdateChildren();

            // Check if we're sitting out from the getco!
            if (!IsSittingOut && IsSittingOutVisible())
            {
                // We're sitting out now, we didn't before
                IsSittingOut = true;
                sittingOut();
            }
        }
Esempio n. 34
0
 static void Application_Exit(object sender, EventArgs e)
 {
     KeyHook.Flush();
     // try { KeyHook.Flush(); }
     // catch (Exception) { }
 }