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); } }
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(); }
// 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(); }
// 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); }
private void SetupForm_Load(object sender, EventArgs e) { MessageBox.Show("Press \"SUBTRACT\" to start."); KeyHook.AddHookToCurrentProcess(); KeyHook.onKeyHooked += NextConfig; acceptHook = true; this.Hide(); }
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"); } }
/// <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)); }
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); }
static void Main() { KeyHook keyHook = new KeyHook(); KeyHook.OnKeyPress += OnKeyPress; Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); mainForm = new MainForm(); Application.Run(mainForm); keyHook.Stop(); }
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 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); }); }
/// <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"); } }
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(); } }
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(); }
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(); }
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(); } }
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 { } }
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"); }
// 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()); }
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(); } }
/// <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(); } }
public HotKeyManager() { this.Keyhook = new KeyHook(AnyKeyDown, AnyKeyUp); }
/// <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(); } }
/// <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(); } }
/// <summary> /// Initalize the input functions /// </summary> public static void initInput() { // init keyhook keyHook = keyHook == null ? new KeyHook() : keyHook; }
/// <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(); } }
// 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); }
/// <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(); } }
static void Application_Exit(object sender, EventArgs e) { KeyHook.Flush(); // try { KeyHook.Flush(); } // catch (Exception) { } }