C.,
My son is a picky eater as well...and crazy scrauny. I have done a number of things to get him moving in a healthier direction. First, we use JuicePlus to supplement his diet since we all know he doesn't eat what he should. (if you want info check their website...my SIL sells them and introduced us to them...they are awesome)
Second, we also use the technique that he must try at least ONE bite. I have found that during that particular meal he will not eat the thing he "HAS" to try, but won't fight it as much the next time it is served.
Third, I hide A LOT of food in his favorite things. For instance, we have Macaroni & Cheese w/canned shredded chicken or tuna. I will make "sloppy joes" and hide shredded (almost pureed) carrots, chopped green peppers, tomatoes, and various other foods in it. If your son is a pasta eater and he doesn't mind the sauces...any kind of tomato sauce is a great place to hide other foods...it is amazing what tomato sauce will cover up (ie: carrots, peppers, zucchini, etc etc etc).
Also, at 3 my son was battling for his own way, pushing the buttons and the limits to see how far he could get with just about everything, including the eating. We set a rule at our table though...we would give him a specific "amount" that he had to eat (ie: 3 bites of green beans, all of his favorite food, and 3 bites of whatever else) or he could not leave the table. This technique has worked wonders and now he negotiates with us. He will tell us how many bites of the things he doesn't care for that he will eat so he can leave the table.
Try to remember (and it is hard, cuz we love our kids)...you are the adult...you can set the rules and the boundaries so that they are fair and easily maintained for consistency (cuz that is the KEY). My son is 7 now and although he is still incredibly picky...he eats much healthier and now will always try at least one bite without fighting us. He has even amazed himself (and us) by finding that he loves what we have put in front of him and will continue to eat everything in site until it is gone.
OWW...one other thing. We told my son a while back that if he doesn't fight us at dinner for 2-3 nights in a row...he gets to pick the dinner for the 3-4 night (the nights depends on age). So for 2 or 3 nights he eats like a big boy...he then can have his favorite meal (mac & cheese and hotdogs). Try to work WITH him not against him. He will learn as we all do. Plus...try to think of your most HATED food and imagine someone forcing you to eat it all the time. That is what we are asking of these kids. Be patient...he will come around and find his own way, until then...just keep at it. Someone once told me that our taste buds change every 7 days...so if he says he doesn't like something today...try again next week!;-)
Best of luck,
L.