static void HotKeyPressedHandle(object sender, HotKeyEventArgs e) { string idat = null; Exception threadEx = null; var staThread = new Thread( () => { try { idat = Clipboard.GetText(TextDataFormat.Text); } catch (Exception ex) { threadEx = ex; } }); staThread.SetApartmentState(ApartmentState.STA); staThread.Start(); staThread.Join(); TrayService.Show("Перевод", Translator.Translate(idat)); }
protected override void WndProc(ref Message m) { if (m.Msg == WM_HOTKEY) { var e = new HotKeyEventArgs(m.LParam); OnHotKeyPressed(e); } base.WndProc(ref m); }
private static void OnHotKeyPressed(HotKeyEventArgs e) { if (HotKeyPressed != null) HotKeyPressed(null, e); }