well, you probably could, but parts of it will surely need to be lower level.
now, my parlance was wrong. I use the term "on-demand" not to mean started by the user but rather "on-demand" when programs are executed.
a program that fits the common, if not altogether misleading, "on-demand" scanner, such as malwarebytes, is possible via C#.
(heck, MBAM itself is written in Visual Basic 6...)