2014-04-25 6 views
0

저는 C++에서 DirectX 11을 사용하여 프로그램을 작성하고 있습니다. 사용자가 Ctrl-Alt-Del 또는 Alt-Tab을 누를 때마다 내 프로그램이 최소화되도록하고 싶습니다.사용자가 Ctrl-Alt-Del 또는 Alt-Tab을 눌러 프로그램을 최소화 할 수 있는지 감지하는 방법은 무엇입니까?

ShowWindow(hWnd, SW_MINIMIZE); 

난에이 점점 붙어 부분은 그 두 가지 경우 중 하나를 감지하기 : 내가 할 일은 호출이 함수로 최소화 할 수있는 창 자체를 얻기

, 쉬운 부분입니다 특정 키 입력이 입력되므로 해당 이벤트 중 하나가 발생할 때 해당 함수를 호출 할 수 있습니다.

도움을 주시면 감사하겠습니다. 뭔가 명확히 설명해 주시면 알려주세요.

+0

왜 최소화하려고합니까? Windows 자체가 창 상단에 필요한 것을 표시하지 않습니까? –

+0

최소화는 정확하게 내 질문에서 핵심은 아닙니다. Ctrl-Alt-Del과 Alt-Tab을 적절하게 처리하는 방법을 알고 싶다면 사용자가 입력 할 때 내 프로그램이 제대로 작동하고 나중에이 이벤트를 처리하는 지식이 유용 할 수 있습니다. –

+0

그것이 내 질문의 핵심이었습니다. Windows는 프로그램이 "훌륭하게 작동"할 필요가 없도록 올바른 작업을 수행해야합니다. 자동으로 실행되며 프로세스에 영향을 미치거나 할 수있는 방법이 없습니다. 당신이 어떤 특정한 상황을 염두에두고 있는지 궁금 해서요. –

답변

3

Windows의 커널에 훨씬 더 익숙한 사람은 여기에 무거운 부츠를 밟아서 나를 고칠 수 있지만, 내가 아는 한 Ctrl-Alt-Delete는 시스템이므로 "메가 시스템"입니다. 그 이유는 프로그램이 그 프로그램에 고정 될 수 있다면, 어떤 바보가 "당신은 확실합니까?" 사용자가 자신의 컴퓨터가 지옥에 갔다는 것을 알았을 때 메시지 상자.

우리는 소프트웨어 개발자로서 따라야하고 운영 체제의 동작을 변경하려고하지만 (우리의 의도는 좋지만) 항상 눈물을 흘릴 것입니다.

당신이 시도해 보지 말고 (실제로 가능하다면 결코 시도하지 않았습니다. 솔직하게 말하십시오), 당신이 할 수있는 더 중요한 일에 대해 생각하기 시작하십시오. 메모리가 작동하고 사용자 이면 DirectX 응용 프로그램을 실행할 때 Ctrl-Alt-Delete를 누르면 표면/장치 컨텍스트가 손실됩니다 (전체 화면이라고 가정).

정상적으로 종료하거나 복구 할 수있는 경우 - 그렇게하십시오.

+2

Control-Alt-Del은 정말 특별하기 때문에 VMware도 직접 보내지 못하고 캡처 할 수 없습니다. 알림을 걸어 놓을 수는 있어도 불운 한 사용자에게 Control-Alt- 대신에 Ins. – NerdDad

+0

나는 kayboard 드라이버 레벨에서 CTRL + ALT + DEL을 잡을 수 있다고 생각한다. –