void DumpResources() { HINSTANCE ResourceDLL = ::LoadLibrary(RESOURCE_DLL_NAME); if (ResourceDLL == NULL) { LogEvent(LE_ERROR, "DumpResources: LoadLibrary(%d) error", RESOURCE_DLL_NAME); return; } HINSTANCE ResourceModuleHandle = GetModuleHandle(RESOURCE_DLL_NAME); if (ResourceModuleHandle == NULL) { LogEvent(LE_ERROR, "DumpResources: GetModuleHandle(%d) error", RESOURCE_DLL_NAME); goto DumpResourcesExit; } HINSTANCE ModuleHandle = AfxGetResourceHandle(); AfxSetResourceHandle(ResourceModuleHandle); DumpDialog(IDD_SEARCH_DIALOG, "SearchDialog"); AfxSetResourceHandle(ModuleHandle); DumpResourcesExit: FreeLibrary(ResourceDLL); }
bool DumpContents( WResTypeInfo *type, WResResInfo *res, WResLangInfo *lang, WResFileID handle, uint_16 os ) /*********************************************************************/ { bool error; res = res; fprintf( stdout, "\tOffset: 0x%08lx Length: 0x%08lx\n", lang->Offset, lang->Length ); if (type->TypeName.IsName) { /* it is not one of the predefined types */ error = false; } else { switch (type->TypeName.ID.Num) { case RESOURCE2INT( RT_MENU ): if( os == WRES_OS_WIN16 ) { error = DumpMenu( lang->Offset, lang->Length, handle ); } else { error = false; } break; case RESOURCE2INT( RT_DIALOG ): if( os == WRES_OS_WIN16 ) { error = DumpDialog( lang->Offset, lang->Length, handle ); } else { error = false; } break; case RESOURCE2INT( RT_GROUP_ICON ): error = DumpIconGroup( lang->Offset, lang->Length, handle ); break; case RESOURCE2INT( RT_GROUP_CURSOR ): error = DumpCursorGroup( lang->Offset, lang->Length, handle ); break; case RESOURCE2INT( RT_STRING ): if( os == WRES_OS_WIN16 ) { error = DumpString( lang->Offset, lang->Length, handle ); } else { error = false; } break; default: error = false; break; } } return( error ); }