public KeySenderDemo() { Form f = new Form(); TextBox tb = new TextBox(); tb.Parent = f; tb.Location = new Point(10, 10); tb.Size = new Size(200, 16); f.Load += (s, e) => { tb.Focus(); ks = new KeySender(tb.Handle, DefaultKeysToSend); ks.StartSendingKeys(1, 200); }; f.Click += (s, e) => { if (ks.Sending()) { ks.StopSendingKeys(); } else { tb.Focus(); ks.StartSendingKeys(1, 200); } }; Application.Run(f); }
private async void F5_OnClick(object sender, RoutedEventArgs e) { if (mana1.Text.Length == 0) { f5button.IsChecked = false; return; } keys1.IsEnabled = false; mana1.IsEnabled = false; logBox.AppendText("\nF5 started."); logBox.ScrollToEnd(); _ksF5 = new KeySender(); var proc = (TibiaProc)processCombo.SelectedValue; _ksF5isrunning = true; while (_ksF5isrunning) { if (MemoryReader.mana >= int.Parse(mana1.Text)) { await _ksF5.SendKey(proc.Process, int.Parse(keys1.SelectedValue.ToString())); } await Task.Delay(250); } //await _ksF5.SendKey(proc.Process, int.Parse(mana1.Text), double.Parse(classCombo.SelectedValue.ToString()), double.Parse(itemCombo.SelectedValue.ToString()), int.Parse(keys1.SelectedValue.ToString()), logBox, 1); }
private async void Logout() { if (_logoutIsRunning) { _logoutIsRunning = false; _logoutKeysender.Stop = true; return; } _logoutKeysender = new KeySender(); _logoutIsRunning = true; while (_logoutIsRunning) { if (IsLogoutTimeChecked) { await Task.Delay(LogoutTime * 1000 + new Random().Next(10, 200)); await _logoutKeysender.SendKey(TibiaProcess.Process, LogoutKey, 1); if (_isLogoutHibernateChecked) { var psi = new ProcessStartInfo("shutdown", "/s /t 0"); psi.CreateNoWindow = true; psi.UseShellExecute = false; Process.Start(psi); } if (IsLogoutHibernateChecked) { var psi = new ProcessStartInfo("shutdown", "/h /t 0"); psi.CreateNoWindow = true; psi.UseShellExecute = false; Process.Start(psi); } } if (IsLogoutSoulsChecked) { if (MemoryReader.souls >= LogoutTime) { await Task.Delay(new Random().Next(10, 200)); await _logoutKeysender.SendKey(TibiaProcess.Process, LogoutKey, 1); if (_isLogoutHibernateChecked) { var psi = new ProcessStartInfo("shutdown", "/s /t 0"); psi.CreateNoWindow = true; psi.UseShellExecute = false; Process.Start(psi); } if (IsLogoutHibernateChecked) { var psi = new ProcessStartInfo("shutdown", "/h /t 0"); psi.CreateNoWindow = true; psi.UseShellExecute = false; Process.Start(psi); } } } } }
public void Stop() { if (ks != null) { ks.StopSendingKeys(); } ks = null; }
public ProtocolKeyAttribute(string name, string defaultValue, KeyUsagePhase phase, KeySender sender, KeyType type) { _name = name; _default = defaultValue; _phase = phase; _sender = sender; _type = type; }
public ProtocolKeyAttribute(string name, string defaultValue, KeyUsagePhase phase, KeySender sender, KeyType type) { Name = name; DefaultValue = defaultValue; Phase = phase; Sender = sender; Type = type; }
//todo: logout after X time, shutdown pc private async void LogoutButton_OnClick(object sender, RoutedEventArgs e) { if (logout.Text.Length == 0 || LogoutSoulsRadioButton.IsChecked == false && LogoutSoulsRadioButton.IsChecked == false) { logoutButton.IsChecked = false; return; } logout.IsEnabled = false; logBox.AppendText("\nLogout started."); logBox.ScrollToEnd(); var proc = (TibiaProc)processCombo.SelectedValue; if (LogoutTimeRadioButton.IsChecked == true) { _ksLogoutTime = new KeySender(); await _ksLogoutTime.SendKeyMultiple(proc.Process, int.Parse(logout.Text), 1, 0, int.Parse(keys4.SelectedValue.ToString()), logBox); if (LogoutShutdownRadioButton.IsChecked == true) { var psi = new ProcessStartInfo("shutdown", "/s /t 0"); psi.CreateNoWindow = true; psi.UseShellExecute = false; Process.Start(psi); } if (LogoutHibernateRadioButton.IsChecked == true) { var psi = new ProcessStartInfo("shutdown", "/h /t 0"); psi.CreateNoWindow = true; psi.UseShellExecute = false; Process.Start(psi); } } if (LogoutSoulsRadioButton.IsChecked == true && MemoryReader.souls <= int.Parse(logout.Text)) { _ksLogoutSouls = new KeySender(); await _ksLogoutSouls.SendKey(proc.Process, int.Parse(keys4.SelectedValue.ToString())); if (LogoutShutdownRadioButton.IsChecked == true) { var psi = new ProcessStartInfo("shutdown", "/s /t 0"); psi.CreateNoWindow = true; psi.UseShellExecute = false; Process.Start(psi); } if (LogoutHibernateRadioButton.IsChecked == true) { var psi = new ProcessStartInfo("shutdown", "/h /t 0"); psi.CreateNoWindow = true; psi.UseShellExecute = false; Process.Start(psi); } } }
public override void Do() { if (CustomPos) { KeySender.MouseRelease(Button, ClickPos); } else { KeySender.MouseRelease(Button); } }
/// <summary> /// Handles "key:" requests /// </summary> /// <param name="data">Message received from client</param> public void OnKeyRequest(string data) { string key = data.Substring("key:".Length); Program.Log("Key request: " + key, debug: true); try { KeySender.SendKey(ScancodeConvert.GetScancode(key)); } catch { Program.Log("Failed to send key: " + key, ConsoleColor.Red); } }
private async void Skilling() { if (_skillingIsRunning) { _skillingIsRunning = false; _skillingKeysender.Stop = true; return; } _skillingKeysender = new KeySender(); _skillingIsRunning = true; while (_skillingIsRunning) { await _skillingKeysender.SendKey(TibiaProcess.Process, SkillingKey, 2); await Task.Delay(SkillingTime * 1000 + new Random().Next(10, 200)); } }
private async void Manaburn() { if (_manaburnIsRunning) { _manaburnIsRunning = false; return; } _manaburnKeysender = new KeySender(); _manaburnIsRunning = true; while (_manaburnIsRunning) { if (MemoryReader.mana >= RequiredMana) { await _manaburnKeysender.SendKey(TibiaProcess.Process, ManaburnKey, 1); } await Task.Delay(250); } }
private async void F6_OnClick(object sender, RoutedEventArgs e) { if (mana2.Text.Length == 0) { f6button.IsChecked = false; return; } keys2.IsEnabled = false; mana2.IsEnabled = false; logBox.AppendText("\nF6 started."); logBox.ScrollToEnd(); _ksF6 = new KeySender(); var proc = (TibiaProc)processCombo.SelectedValue; await _ksF6.SendKey(proc.Process, int.Parse(mana2.Text), 1, 0, int.Parse(keys2.SelectedValue.ToString()), logBox, 1); }
private async void SpaceButtonBase_OnClick(object sender, RoutedEventArgs e) { if (spacebox.Text.Length == 0) { spacebutton.IsChecked = false; return; } keys3.IsEnabled = false; spacebox.IsEnabled = false; logBox.AppendText("\nSpace started."); logBox.ScrollToEnd(); _ksSpace = new KeySender(); var proc = (TibiaProc)processCombo.SelectedValue; await _ksSpace.SendKey(proc.Process, int.Parse(spacebox.Text), 1, 0, int.Parse(keys3.SelectedValue.ToString()), logBox, 2); }
public override void Do() { string previous_clipboard = Clipboard.GetText(); Clipboard.SetText(topaste); System.Threading.Thread.Sleep(50); KeySender.KeyPress(KeyConverter.Name2Key(KeyConverter.WinFormKey2Name(Keys.LControlKey))); KeySender.KeyStroke(KeyConverter.Name2Key(KeyConverter.WinFormKey2Name(Keys.V))); KeySender.KeyRelease(KeyConverter.Name2Key(KeyConverter.WinFormKey2Name(Keys.LControlKey))); System.Threading.Thread.Sleep(50); try { Clipboard.SetText(previous_clipboard); } catch { try { Clipboard.SetText(""); } catch { } } }
/// <summary> /// Handles "action:" requests. /// Similar to key requests except the actual keycode is loaded from a file based on the action name passed. /// </summary> /// <param name="data"></param> public void OnActionRequest(string data) { string action = data.Substring("action:".Length); Program.Log("Action request: " + action, debug: true); string keycode = Program.keybindingHelper.GetKeybind(action); if (keycode != null) { try { KeySender.SendKey(ScancodeConvert.GetScancode(keycode)); } catch { Program.Log("Failed to send key: " + keycode, ConsoleColor.Red); } } else { Program.Log("Attempt to trigger action that doesn't have an associated keybind! (" + action + ")", ConsoleColor.Red); } }
public FormMain() { if (!WindowManager.IsSingleInstance) { MessageBox.Show(Translations.Get("already_running")); Environment.Exit(0); } PressedKeys = new List <Keys>(); InitializeComponent(); HideMainForm(); this.Text = Translations.Get("about_text"); this.Item_Title.Text = Translations.Get("about_title"); Input = new GlobalHooker(); KInput = new KeyboardHookListener(Input); MInput = new MouseHookListener(Input); KInput.Enabled = true; MInput.Enabled = true; MInput.MouseDown += new MouseEventHandler(OnUserMouseInteraction); MInput.MouseUp += new MouseEventHandler(OnUserMouseInteraction); MInput.MouseMove += new MouseEventHandler(OnUserMouseInteraction); MInput.MouseClick += new MouseEventHandler(OnUserMouseClick); KInput.KeyDown += new KeyEventHandler(OnUserKeyboardPress); KInput.KeyUp += new KeyEventHandler(OnUserKeyboardRelease); KeySender.KeyStroke(KeySender.VkKeyScan('^')); if (File.Exists(SettingsFile.SaveFile)) { SettingsFile.Load(ref ActivateKey); } else { SettingsFile.Save(ActivateKey); if (MessageBox.Show( String.Format( "{0}\n\n{1}\n{2}\n\n{3}", Translations.Get("welcome_text_1"), Translations.Get("welcome_text_2"), Translations.Get("welcome_text_3"), Translations.Get("welcome_text_4") ), Translations.Get("welcome_title"), MessageBoxButtons.YesNo, MessageBoxIcon.Question ) == DialogResult.Yes) { Button_Help_Click(new object(), EventArgs.Empty); } } RefreshFiles(); WqlEventQuery query = new WqlEventQuery("Select * From __InstanceCreationEvent Within 2 Where TargetInstance Isa 'Win32_Process'"); watcher = new ManagementEventWatcher(query); watcher.EventArrived += new EventArrivedEventHandler(OnWindowOpen); watcher.Start(); ProceedOtherMacros(Keys.None, MacroType.Startup); timer = new System.Windows.Forms.Timer(); timer.Interval = 1000; timer.Tick += new EventHandler(OnIDLETick); timer.Start(); }
public override void Do() { KeySender.KeyRelease(Key); }
public override void Do() { KeySender.KeyStroke(Key); }
private void OnUserKeyboardPress(object sender, KeyEventArgs e) { idletime = 0; if ((int)e.KeyCode == ActivateKey) { MacroActivate = true; if (testing) { string name = WindowManager.GetActiveWindowTitle(); string exe = WindowManager.GetActiveWindowExename(); TopMostMessageBox.Show( String.Format(Translations.Get("window_info_result_text"), name, exe), Translations.Get("window_info_result_title")); testing = false; } } switch (e.KeyCode) { case System.Windows.Forms.Keys.LShiftKey: case System.Windows.Forms.Keys.RShiftKey: case System.Windows.Forms.Keys.Shift: case System.Windows.Forms.Keys.ShiftKey: shift = true; break; } while (PressedKeys.Contains(e.KeyCode)) { PressedKeys.Remove(e.KeyCode); } PressedKeys.Add(e.KeyCode); if (KeyHelper.Form_Visible) { KeyHelper.BoxContent += KeyConverter.WinFormKey2Name(e.KeyCode) + "\n"; e.Handled = true; } else if (ProceedRewriteMacros(e.KeyCode)) { e.Handled = true; } //Handle french ^ and ¨ key modifiers: êâôëü if ((int)e.KeyCode == 221 && !circumflex) { circumflex = true; e.Handled = true; if (shift) { diaeresis = true; } } else if (circumflex && !circumflexOn) { circumflexOn = true; switch (e.KeyCode) { case (System.Windows.Forms.Keys) 221: circumflex = false; diaeresis = false; if (diaeresis) { KeySender.KeyPress(KeyConverter.Name2Key("Shift")); KeySender.KeyStroke(KeySender.VkKeyScan('^')); KeySender.KeyStroke(KeySender.VkKeyScan('^')); KeySender.KeyRelease(KeyConverter.Name2Key("Shift")); } else { KeySender.KeyStroke(KeySender.VkKeyScan('^')); KeySender.KeyStroke(KeySender.VkKeyScan('^')); } break; case System.Windows.Forms.Keys.A: case System.Windows.Forms.Keys.E: case System.Windows.Forms.Keys.I: case System.Windows.Forms.Keys.O: case System.Windows.Forms.Keys.U: case System.Windows.Forms.Keys.Y: if (diaeresis) { KeySender.KeyPress(KeyConverter.Name2Key("Shift")); KeySender.KeyStroke(KeySender.VkKeyScan('^')); KeySender.KeyRelease(KeyConverter.Name2Key("Shift")); } else { KeySender.KeyStroke(KeySender.VkKeyScan('^')); } circumflex = false; diaeresis = false; break; default: circumflex = false; diaeresis = false; break; } circumflexOn = false; } }
public override void Do() { KeySender.KeyPress(Key); }
private async void ToggleSwitch_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { if (!this.SpotifySwitch.Toggled) { this._cancellationGetSpotifyUpdates?.Cancel(); Program.TrayMenu.NpcWorkTrayCheckBox.Checked = false; return; } //if (AppInfo.State.WindowName == string.Empty) //{ // this.SpotifySwitch.TurnOff(); // MessageBox.Show("make game window active at least once"); // return; //} if (!SourceKeysExtensions.SourceEngineAllowedKeys.Contains(this.TextBoxKeyBind.CurrentText)) { this.SpotifySwitch.TurnOff(); MessageBox.Show("there is no such button in source engine"); return; } TextBoxToConsole.Text = $"bind \"{this.TextBoxKeyBind.CurrentText}\" \"exec audio.cfg\""; this.ButtonDo_Click(this, null); // force first request to not wait for the Thread.Sleep(1000) int _SelectedAccount = GetSelectedAccountIndex(); this._cancellationGetSpotifyUpdates = new CancellationTokenSource(); var cfgWriter = new ConfigWriter( $@"{SteamIdLooker.UserdataPath}\{this.GetSelectedAccountId().ToString()}\730\local\cfg\audio.cfg", this.NowPlayingConfig.Config.CfgText); await Task.Factory.StartNew(() => { while (true) { if (SelectionChanged(_SelectedAccount)) { this.Dispatcher.Invoke(() => OnAccountsListSelectionChanged()); } Thread.Sleep(1000); if (AppInfo.State.TokenExpireTime < DateTime.Now) { var refreshedTokenResp = _spotify.GetRefreshedToken(AppInfo.State.SpotifyRefreshToken); AppInfo.State.UpdateToken(refreshedTokenResp); cfgWriter.RewriteKeyBinding("say \"spotify token expired!\""); } var trackResp = _spotify.GetCurrentTrack(AppInfo.State.SpotifyAccessToken); if (trackResp != null && trackResp.Id != this.PlayingTrackId) { cfgWriter.RewriteKeyBinding(trackResp); if (trackResp.FormattedArtists.Length > 27) { Dispatcher.Invoke(() => LabelArtistAnimation()); } else { Dispatcher.Invoke(() => LabelArtist.BeginAnimation(Canvas.RightProperty, null)); } if (IsAutoTrackChangeEnabled && Program.GameProcess.IsValid) { KeySender.SendInputWithAPI(CurrentKeyBind); } } this.Dispatcher.Invoke(() => this.UpdateInterfaceTrackInfo(trackResp)); if (this._cancellationGetSpotifyUpdates.IsCancellationRequested) { return; } } }); }