2017-10-04 19 views
0

Windows 콘솔에서 사용자 마우스 선택을 해제해야합니다. 그것은 가능하고 어떻게? 내가 그걸로 마우스 입력을 사용하지 않으려면 SetConsoleMode() 기능을했지만, 예상대로 작동하지 않았다. 선택은 여전히 ​​가능했습니다.Windows 콘솔에서 사용자 선택을 비활성화하는 방법

+1

정말 필요한 것이거나 해결책이라고 생각하나요? 이것은 실제로 [XY 문제] (http://xyproblem.info/)와 같은 냄새가납니다. 그리고 그렇지 않은 경우에도이 설정은 사용자의 재량에 달려 있습니다. – IInspectable

+0

컷 - 앤 - 카피 (cut-and-copy) 타입 조작에 마우스를 사용하는 것에 대해 생각하고 있다고 생각하십니까? 나는 당신이'SetConsoleMode()'로 제어 할 수있는 모든 것이 마우스 이벤트가 프로그램에 의해 읽혀질 수 있는지 없는지라고 생각한다. 콘솔 잘라 내기 및 복사가 API 호출을 사용하여 제어 가능한지 여부는 알 수 없습니다. 그렇다고하더라도 Windows 릴리스마다 다를 수 있습니다. –

+0

@Ron :이 플래그는 콘솔에서 마우스 입력 알림을 받을지 여부를 제어합니다. 콘솔 자체가 마우스 입력에 응답하는 방법은 변경되지 않습니다. – IInspectable

답변

3

콘솔의 빠른 편집 모드에서는 사용자가 먼저 마크 모드 (예 : Ctrl + M 또는 메뉴에서 편집 -> 마크)를 입력하지 않고도 마우스를 사용하여 텍스트를 신속하게 선택하고 복사 할 수 있습니다. 일반적으로 빠른 편집 모드를 사용하는 것이 편리하지만 마우스 입력을 방해합니다. 다음과 같이 콘솔 입력 버퍼의 핸들을 사용하여 비활성화 할 수 있습니다.

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

종료 할 때 이전 모드를 복원하는 것을 잊지 마십시오.