リソースの残量を取得する関数を作る。 //********************************************************* // 使用する関数型宣言 //********************************************************* typedef int (WINAPI *GetFreeResource_t)(int); //********************************************************* // GetFreeResource // nSystem …… システムリソース の残量を取得する変数へのポインタ(単位%) // nGdi …… GDIリソース の残量を取得する変数へのポインタ(単位%) // nUser …… USERリソース の残量を取得する変数へのポインタ(単位%) //********************************************************* BOOL GetFreeResource( int *nSystem, int *nGdi, int *nUser ) { HINSTANCE hInstance; // rsrc32.dll のインスタンス GetFreeResource_t pGetFreeResource; // リソースを取得できる関数 hInstance = LoadLibrary( "rsrc32.dll" ); // rsrc32.dll をロード if ( !hInstance ) { return FALSE; } // 関数をロード pGetFreeResource = (GetFreeResource_t)GetProcAddress( hInstance, "_MyGetFreeSystemResources32@4" ); if ( pGetFreeResource ) { if ( nSystem ) *nSystem = pGetFreeResource( 0 ); // システムリソース残量を取得 if ( nGdi ) *nGdi = pGetFreeResource( 1 ); // GDIリソース残量を取得 if ( nUser ) *nUser = pGetFreeResource( 2 ); // USERリソース残量を取得 FreeLibrary( hInstance ); // rsrc32.dll を解放 return TRUE; } FreeLibrary( hInstance ); // rsrc32.dll を解放 return FALSE; }//GetFreeResource | |