[ad_1]
シングルクリック、左クリックのみでダブルクリックすることがあるマウスの不具合があります。スペースキーを使用したキーボードで同じ問題が発生し、e.Handled = trueで2番目のスペースキーのキーダウンを抑制しました。グローバルマウスクリック用ですか?
クリックを抑制する機能を備えたマウスクリックをグローバルに検出し、時々1回だけクリックしたときに2回クリックしないようにする方法が必要です。
私が試したこと:
私はこのようなものが欲しいのですが、マウスのクリックがグローバルに:
public static globalKeyboardHook gkh = new globalKeyboardHook(); static DateTime lastTimeSpaceKeyUp = DateTime.Now; public static void Gkh_KeyUp(object sender, KeyEventArgs e) { switch (e.KeyCode) { case Keys.Space: if ((DateTime.Now - lastTimeSpaceKeyUp).TotalMilliseconds < 20) { e.Handled = true; //MessageBox.Show(((DateTime.Now - lastTimeSpaceKeyUp).TotalMilliseconds).ToString()); } break; } lastTimeSpaceKeyUp = DateTime.Now; } static DateTime lastTimeSpaceKeyDown = DateTime.Now; public static void Gkh_KeyDown(object sender, KeyEventArgs e) { switch (e.KeyCode) { case Keys.Space: if ((DateTime.Now - lastTimeSpaceKeyDown).TotalMilliseconds < 20) { e.Handled = true; //MessageBox.Show(((DateTime.Now - lastTimeSpaceKeyDown).TotalMilliseconds).ToString()); } break; } lastTimeSpaceKeyDown = DateTime.Now; }
解決策 1
スタックオーバーフローを参照してください:
グローバルフックザマウスアクションのように、キーボードをフックする方法はあります[^]
[ad_2]
コメント