OSによってサポートされていないAPIを安全に使用するためのサンプル

サポートされていないOSでは、その機能だけが使えなくなるようにします。
(2001.04.28)
#include "Module.h"
 
typedef BOOL (WINAPI *ANIMATEWINDOW)(HWND hwnd, DWORD dwTime, DWORD dwFlags);
 
#if(WINVER < 0x0500) // 0x0500以上では定義されている
/*
* AnimateWindow() Commands
*/
#define AW_HOR_POSITIVE 0x00000001
#define AW_HOR_NEGATIVE 0x00000002
#define AW_VER_POSITIVE 0x00000004
#define AW_VER_NEGATIVE 0x00000008
#define AW_CENTER 0x00000010
#define AW_HIDE 0x00010000
#define AW_ACTIVATE 0x00020000
#define AW_SLIDE 0x00040000
#define AW_BLEND 0x00080000
 
#endif /* WINVER >= 0x0500 */
 
// Win95では動作しないだけ。。。
BOOL _AnimateWindow(HWND hwnd, DWORD dwTime, DWORD dwFlags)
{
    BOOL bResult = 0;
   
    CModule module;
    HINSTANCE hInst = module.LoadLibrary(_T("user32.dll"));
    if (hInst != NULL)
    {
        ANIMATEWINDOW fnAnimateWindow =
            (ANIMATEWINDOW)module.GetProcAddress(_T("AnimateWindow"));
        if (fnAnimateWindow != NULL)
        {
            bResult = (*fnAnimateWindow)(hwnd, dwTime, dwFlags);
        }
    }
   
    return bResult;
}
一覧に戻る
© 2003 WAC.com All Right Reserved.