Basically there are 2 different ways to go: TWAIN and WIA (Windows Image Acquisition).

TWAIN is the older method which has been around for quite some time, while I don't know much about programming with TWAIN, it seems to be a bit complex but the best method for compatibility between Operating Systems.

WIA is only compatible with Windows ME, Windows XP and Windows Vista. Also, the version with Vista is a bit different to the version for ME and XP. WIA can be easier to code for though - if you can find the right examples and help.

I have been working with WIA (Windows Image Acquisition) for a flatbed scanner recently and after much frustration with lack of examples for C# I'm nearly done. I will be posting my code here once I'm finished so that others can learn from it, however I am coding for a scanner with an ADF, using WIA for a digital camera is much easier.

A good example for a digital camera can be found here:
http://www.codeproject.com/dotnet/wi...tingdotnet.asp