I have seen code samples similar to the following numerous times in my search for an answer:
using System;
using System.Text;
using System.Management;
names
This is more of an idea than a perfect solution. With respect to the answer by Leonardo, how about using an actual piece of anti-virus software (link against it) in order to perform a search for other anti-virus software? ClamAV is opensource and a nice point to start. You "only" need to define a new and rather specific signature database.