/// <summary> /// 检测记录 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ButtonRecord_Click(object sender, RoutedEventArgs e) { RecordWindow window = new RecordWindow(); window.ComboBoxUser.Text = LoginWindow._userAccount.UserName; window.ShowInTaskbar = false; window.Owner = this; window.Show(); }
public void OpenRecordWindow() { if (RecordWindow != null) { RecordWindow.Close(); } RecordWindow = new RecordWindow(); RecordWindow.Show(); }
public void ShowRecordWindowTest() { recordWindow = new RecordWindow(); recordWindow.Show(); if (recordWindow.IsVisible == false) { Assert.Fail(); } else { recordWindow.Hide(); Assert.Pass(); } }
private void OnKeyPressed(object sender, GlobalKeyboardHookEventArgs e) { //Debug.WriteLine(e.KeyboardData.VirtualCode); if ( //e.KeyboardData.VirtualCode != GlobalKeyboardHook.VkSnapshot //&& e.KeyboardData.VirtualCode != GlobalKeyboardHook.RightAlt e.KeyboardData.VirtualCode != GlobalKeyboardHook.F11) //if (e.KeyboardState == GlobalKeyboardHook.KeyboardState.SysKeyDown && // e.KeyboardData.Flags == GlobalKeyboardHook.LlkhfAltdown) { return; } // seems, not needed in the life. //if (e.KeyboardState == GlobalKeyboardHook.KeyboardState.SysKeyDown && // e.KeyboardData.Flags == GlobalKeyboardHook.LlkhfAltdown) //{ // MessageBox.Show("Alt + Print Screen"); // e.Handled = true; //} //else var now = DateTime.Now; //因為按鍵持續按下時會極快的持續重複引發這個事件 大約 150ms引發一次 //所以 如果距離上一次引發大於500ms 就判定是新的一次按下 就重新開始計時 if (now.Subtract(instantKeyPressTime).TotalMilliseconds > 500) { timerStart = now; } instantKeyPressTime = now; if (e.KeyboardState == GlobalKeyboardHook.KeyboardState.KeyDown) { Tbx.Text += DateTime.Now.ToString("T") + "KeyDown\n " + ++i; //持續按下的時間長度大於一定秒數 if (now.Subtract(timerStart).TotalMilliseconds > 1000) { timerStart = now; topProcess = ProcessFocus.FindTopProcess(); RecordWindow recordWindow = new RecordWindow(); recordWindow.Show(); recordWindow.Activate(); recordWindow.Closing += (o, args) => { try { ProcessFocus.SendPasteToSpecifcProcessAndSetForeground(topProcess.Id); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }; //MessageBox.Show("Key Down last for 1 seconds,\ntopProcess: "+ProcessFocus.FindTopProcess().ProcessName); } e.Handled = true; } }