이리 저리 소스를 뒤져 보다, 저에게 필요한 것은 바로 이것.
dwmapi.h
라는 것을 알 게 되었습니다.
DWM 이라는 것은 Windows VISTA 부터 지원하게 되는 윈도우 형태로서, 에어로 글래스 적용시에만 사용할 수 있는 것 입니다.
이 dwmapi 들은 dwmapi.dll 을 이용해서 구동하게 되며, 이는 windows vista 및 7 에서 모두 사용되는 것 입니다.
물론 이런 api 들을 사용하기 위해서는 비디오 카드가 WDDM 규격을 준수하고 있어서 에어로 테마가 사용되고 있어야 하는 전제 조건이 필요 하긴 합니다만 ...
일단은 DWM 을 이용한 윈도우 생성 및 테두리 제어 등을 완료 하였습니다.
이는 C는 물론 , C++ , Delphi 에서 모두 사용이 가능하도록 하였습니다.
dwmapi.h 를 직접 보면,

와 같이 알 수 있다.
먼저 DWM 을 사용할 수 있는지를 알려면,
DwmIsCompositionEnabled(); 함수를 통해서 DWM 이 수행 가능한지를 먼저 알아야 하고,
기본적으로 샘플에 사용한 것 처럼 만드려면, DWM 넓이를 수정 하기만 하면 됩니다.
물론 이 기능은 DwmExtendFrameIntoClientArea(); 함수를 통해서 가능하게 되죠.

이젠 좀 더 분석하여 taskbar 내에 thumbnail 업데이트나, 컨트롤 추가 등을 고려 해 보도록 하겠습니다.
Posted by 견족자K rageworx