Oh gawd...
Quote:
When a new program opens, my program scans that newly opened program, and if it's MD5 exists in a locally hosted database, a dialogue called Detect.vb should come up saying "Virus detected".
That isn;t going to work, not even slightly.
MD5 is a hashing code, which produces a value based on the whole content of the byte stream you pass it. A single change, even a single bit changing from 0 to 1 or vice versa will result in a wildly different hash value. When a virus infects a file, the MD5 you will calculate will be the hash value for the whole file and the "new" material the virus added. If the same virus attacks two different files, the MD5 value you calculate will be totally different - and neither of them will appear in your "signatures database", so you will never detect them.
The only way to use hashing to "detect viruses" is to calculate the hash value for all unaffected files, and then use that to detect changed values which may indicate virus activity. You can't just "look up a hash" in a DB and say "that's a virus" because hashing - and viruses - just do not work like that.
And that's before you even start to get to polymorphic viruses which change their own code to avoid detection!
Seriously: this is a bad idea - it instills a false sense of security in the user and in practice provide little or no protection from malware of any form.