I'll start by saying that I'm not including the source code for this, as most of the functionality is done by the SAWZip - zip file manipulation control, so you should check out that article for more information. And thanks to Franky Braem for a really useful control.
This is a lightweight tool (MFC-less) that will create a zip file of all the source files within your project, also saving the relative paths. It's simple to use, just click on the browse button to load a project or workspace and enter the name of the zip file and away you go. One word of warning is that it will overwrite any zip files with the same name, so take care (will fix for the next version).
I was going to make it an add-in or shell extension but as it's more of a stand alone tool, so I kept it that way. Though I find it useful to add it as a tool to DevStudio and to the registry for Explorer as it will take the project as a program argument. In fact, great for zipping your projects and sending them off to CP.
It includes two COM controls that you will need to register, if you have any problems with SAWZip then check for the latest version. The other control I will try to post as an article ASAP with source code included.