A: 

The Flash authoring tool lets you do that. You can export about any part of your flash movie to a png file through the command File/Export.

If you want to do that automatically from an swf file, several tools have gone some way through this function, though with varied results. The point is, a flash movie is a complex program with time, animation, user interaction, so... generating a thumbnail is not always as simple as just taking the first frame and exporting the pixels to an image. Very strictly speaking, a flash file being a program that displays graphics and animations, it can't be written to a simple image in a generic way.
However, you can do more restricted things, like write the output of the first frame of the swf for example. There are tools doing those kind of things, each with its limitations, each with its functionalities. They usually work best under linux or some other unix, and some of them have a windows version too. Check the following :
swftools
swfdec
pyswfdec
Gnash

Now if your "flash file" is an flv file rather than an swf file, you can export it as another type of video, including a sequence of png images, with mplayer.

In another way of thinking about it, the standard way to generate a thumbnail for an swf file is just to run it in your browser and take a screencap. If you only have a few files to go, it might be the simplest way to go.

Jean