키 입력을 받는 콘솔 어플의 비활성 상태에서 반응?
떠나간그녀
안녕하세요.
제목이 좀 직관적이지 않은데, 딱히 더 쉽게 짧은 말을 쓰긴 어렵네요.
비주얼 c++ 에서 보통 console application으로 간단한 문자 입출력부터 복잡한 게임 등까지
키보드 메세지를 받으려면 해당 콘솔창이 활성화 상태에서만 가능한데요.
비활성 상태 내지는 최소화 상태(이게 그말이겠지만..)에서 키 입력이 되는 방법이 있을까요?
한마디로 getch든 GetAsyncKeyState든 키 입력이 있는 콘솔 플그램이 실행된 상태에서 메모장 같은
다른 윈도우 폼이 위에 가려져 있다면 콘솔 플그램은 전혀 키입력을 받을 수 없는가 입니다.어설픈 지식으로는 api에서 키보드 훅을 걸어야 가능할 것이라 생각되는데
api쪽은 지식이 없는 상태라 콘솔쪽에서 가능할지 질문해봅니다.
-
agine
예 그러니 GetAsyncKeyState를 끌어다 쓰는데요. 훅프로시저를 설치하는 예제들을 보니 콜백함수니 뭐니 죄다 win32 어플이던데요. 콘솔 어플에서도 모든 api가 사용 가능한 것인가요? api에 무지한 상태에서 반나절을 검색하고 읽다보니 전역훅을 해야한다고 나오고 말이죠.(dll로 함수를 빼서)
-
다스리
콘솔이 아니라 하더라도 포커스를 잃으면 키보드 입력을 바로 받지는 못 할텐데요.
콘솔 어플에서도 API를 사용할 수 있습니다. 어짜피 도스용 어플이 아니라 윈도용 어플이니까요. Win32 Console Application -
미라
훅프로시저라고 하면 api 쪽 아닌가요? 그런 것으로 아는데 혹시 콘솔에서 훅이 가능한가요?
-
민들레
훅프로시저를 걸면 가능하지요
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2694069 | unsigned 질문입니다. | 힘차 | 2025-05-07 |
2694012 | 전공 비전공자 개발자 (10) | 말글 | 2025-05-07 |
2693984 | 오버로딩이 무엇인가요? (2) | 헛매질 | 2025-05-07 |
2693956 | PlaySound재생이 안됩니다!(C에 음악넣기) | 지존 | 2025-05-06 |
2693928 | &와 *의 사용에 관한 명확한 이해 | 제나 | 2025-05-06 |
2693903 | 반복문 설명좀요 ㅠㅠ (2) | 란새 | 2025-05-06 |
2693869 | stdio.h 는 왜 쓰는건가요? (1) | 큰꽃들 | 2025-05-06 |
2693842 | 포인터 변수의 주소값끼리 더하는 것에 대해서 질문드립니다. (1) | 진솔 | 2025-05-05 |
2693811 | 소수 출력;;;; | 화이트캣 | 2025-05-05 |
2693788 | 이런 함수는 없나요? (3) | 앤드류 | 2025-05-05 |
2693758 | txt파일 불러와서 행렬로 저장 | 큰애 | 2025-05-05 |
2693727 | scanf 오류 문제!! (2) | 큰나래 | 2025-05-04 |
2693704 | 구조체 주소록 문제인데 도와주세요 (2) | 도1도캣 | 2025-05-04 |
2693676 | 열혈강의 c언어 질문입니다 | 하양이 | 2025-05-04 |
2693647 | 12.620000 을요 12.620 으로 어떻게 표현해요? (2) | 파도 | 2025-05-04 |
2693619 | 타이틀 코드.. | 단순드립 | 2025-05-03 |
2693591 | 컴파일 에러에서 질문드립니다 (3) | 게자리 | 2025-05-03 |
2693463 | 동적할당 이용시 fwrite사용을 어떻게 해야하나요..? (10) | 일본어못해요 | 2025-05-02 |
2693387 | 배열문제입니다 수정오류캡쳐했습니다 (6) | 연하얀 | 2025-05-01 |
2693356 | text 입출력 내림차순 질문입니다 ㅠ | 빛글 | 2025-05-01 |