Introduction
I want to show a nice AVI to indicate to the user that my MFC-program is working. So I tried some stuff to work with AVI files, and looked at CP for getting AVI out files, but found none. So I wrote my own plain stuff which fulfills my needs. The file output is directed to the "C:" drive. For checking, I added another control which displays an AVI file.
Additionally, I found the article "Extracting AVI Frames" by A. Riazu, Shafiee, which gets the BMPs out of the AVI. I included it because, in that article, there is no sample project. Warning: there seems to be a bug in the code.
Demonstration
It demonstrates the use of Resource API and loading an AVI from a different file (shell32.dll), and the CAnimateCtrl from MFC and the included BMP export.

Code Snippets
For better understanding, here is some code with comments:
if( pAnimateCtrl1->SendMessage( ACM_OPEN, (WPARAM) m_hDll, (LPARAM) m_uiResource ) )
{
if( !pAnimateCtrl1->Play( 0, (UINT) -1, (UINT) -1 ) )
TRACE( "Cannot play animated control. Reason: %d.\n", GetLastError() );
}
if( pAnimateCtrl2->Open( m_csAviExport ) ){
if( !pAnimateCtrl2->Play( 0, (UINT) -1, (UINT) -1 ) )
TRACE( "Cannot play animated control. Reason: %d.\n", GetLastError() );
}
Conclusion
You got a working project which will help you to access and play AVI files, modify it for your needs. It is necessary to do this because the CAnimateCtrl of MS doesn't like all AVI formats.