옵션 |
|
안녕하세요. 비 전공자인데 개인적으로 공부하던 중에 막히는 부분이 있어서 질문 드립니다.
먼저 환경은 아래와 같습니다.
OS : Windows 10 64bit
언어 : C++
컴파일러 : Mingw-w64, 내부 gcc 버전은 8.1.0
코드 편집기 : Visual Studio Code
GLFW를 이용하는 OpenGL 프로그램을 작성하고 있었는데요.
프로그램을 실행하면 기본으로 열리는 콘솔창을 통해 일종의 명령줄 인터페이스를 만들어 놓고 그걸로 OpenGL을 제어하고 있습니다.
그러니까 기본 콘솔창과 GLFW창 두개가 열려서 돌아가는 상태이지요.
여기서 GLFW창을 클릭해서 포커스를 주면 콘솔창에 커서가 보이지 않게 되는게 문제입니다.
아무래도 키보드 입력을 할 때 커서가 안 보이면 지금 어디다 입력이 되는지 알 수가 없으니 불편해지거든요.
해결해보려고 'c++ show console cursor during lost focus' 등의 키워드로 구글링을 해봐도 표족한 답이 안나오는 상태입니다.
GLFW는 자기 창에 포커스가 오면 콜백 함수를 실행하는데, 이걸 이용해서 콘솔창에 키보드 포커스를 줘보려고
SetFocus(GetConsoleWindow()); 식으로 해보려고 하기도 했습니다만,
(사실 window api 함수는 이 문제 구글링 해보면서 처음 써봤습니다. 문외한 수준입니다 ㅜㅜ)
SetFocus가 제대로 실행되지 않고, GetLastError()로 에러 코드를 받아봤더니 [0x0005 접근이 거부되었습니다.] 상태이네요.
혹시 해결 방법이 있을지요?