Sadly, "open source" doesn't imply "easy to reuse". :-/
Found this in the FAQ earlier:
How can I add support for 7z archives to my application?
One way is to use the 7za.dll (available from sf.net for download). The 7za.dll works via COM interfaces. It, however, doesn't use standard COM interfaces for creating objects. You can find a small example in the source code. A full example is 7-Zip itself, since 7-Zip works via this dll also. There are other applications that use 7za.dll such as WinRAR, PowerArchiver and others.
The other way is to call the command line version: 7za.exe.