Yep, cut out snacks and milk, but make fruit available somewhere they can reach. They might not touch it for a long time, but prob will eventually, esp if they see you eating from it and they're hungry.
With meals - give them stuff that you know they'll eat initially. Helps build an appetite at meal times. Gradually introduce new things to their plate and DO NOT MAKE A FUSS.
Basically, put food in front of them, ignore protests, don't cajole or use pudding as a bribe, and if they don't eat, no big deal.
I had the world's most fussy eater (officially, I've checked). He's better with age, but even approaching his teens he's still incredibly limited. I worried so much when he was small, fussed, made a big deal. Nothing worked, and I tried it all.
The subsequent offspring got food and ate it or they didn't. I know some children really will go hungry rather than try new things, but most won't. Just make sure there's something on their plate you know they'll eat and try not to worry too much.
The younger ones do still have their picky moments, but they'll try almost anything and eat most of it.