|
リソースの残量を取得する関数を作る。 //*********************************************************
// 使用する関数型宣言
//*********************************************************
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
| |