いまDirectXとWindowsAPIを使ってスクリーンセーバーを作っています。
デスクトップの画像を表示しながら、何かをする予定です。
イメージとしてはVISTAにインストールされているバブルのスクリーンセーバーです。
それでデスクトップの画像を取得する時点で苦戦しています。
WindowsAPIではデスクトップ画像を取得することはできました。
//デスクトップの画面を取得する関数 //取得したHDCが戻り値 HDC GetDeskTop(){ HDC Deskhdc; HBITMAP DeskBmp; HDC DeskBmphdc; Deskhdc = CreateDCA("DISPLAY",NULL,NULL,NULL); DeskBmp = CreateCompatibleBitmap(Deskhdc,wx,wy); DeskBmphdc = CreateCompatibleDC(Deskhdc); SelectObject(DeskBmphdc, DeskBmp); ReleaseDC(NULL,Deskhdc); DeleteObject(DeskBmp); return DeskBmphdc; }これで取得したHDCを、LPDIRECT3DTEXTURE9などのDirectXで使えるように変換する方法はありますか?
もしくは、DirectXの関数でデスクトップの画像を取得する関数はありますか?
皆様、どうぞよろしくお願いします。
使用環境
WindowsXP
VC++2005
DirectX SDK(March 2008)