2017-10-04 10 views
0

Windowsコンソールでユーザーマウスの選択を無効にする必要があります。それは可能なのか?私はそれを使ってマウス入力を無効にするにはSetConsoleMode()機能を試しましたが、期待通りに機能しませんでした。選択はまだ可能でした。Windowsコンソールでユーザー選択を無効にする方法

+1

これは本当に必要なのでしょうか、それとも解決策だと思いますか?これは本当に[XY問題](http://xyproblem.info/)のようなにおいがします。また、そうでない場合でも、この設定はユーザーの裁量に委ねられています。 – IInspectable

+0

私はカット&コピータイプの操作にマウスを使用することを話していると思いますか?私はあなたが 'SetConsoleMode()'で制御できるのは、マウスイベントをプログラムが読むことができるかどうかということです。コンソールのカットアンドコピーがAPIコールを使って制御可能かどうかはわかりません。たとえそれがあっても、Windowsリリースによって異なる可能性があります。 –

+0

@Ron:そのフラグは、コンソールでマウス入力通知を受け取るかどうかを制御します。コンソール自体がマウス入力にどのように応答するかは変わりません。 – IInspectable

答えて

3

コンソールのクイック編集モードでは、最初にマークモード(すなわち、Ctrl + M、またはメニューの編集 - >マーク)を入力せずに、マウスを使用してテキストを素早く選択してコピーできます。通常、クイック編集モードを有効にすると便利ですが、マウス入力の妨げになります。次のようにコンソール入力バッファのハンドルを使用して無効にすることができます。

DWORD prev_mode; 
GetConsoleMode(hInput, &prev_mode); 
SetConsoleMode(hInput, prev_mode & ~ENABLE_QUICK_EDIT_MODE); 

終了時に以前のモードに戻すことを忘れないでください。

関連する問題