I just don't keep them around. If I have desserts in the house I eat them after every meal until they're gone. :P If I don't have them in the house, problem solved. Also I'm starting to notice that if I avoid daily habitual eating of sugary things, I don't crave them as often.
If I'm genuinely feeling hungry between mealtimes (and not just bored or craving something sweet) I'll have a bowl of mini carrots or an apple and cheese or something. My new favourite healthy snack is edamame. Buy them frozen, steam up a bowlful when you want a snack, and lightly salt them. They're a great snack because of the busywork factor of eating the peas out of the pods and discarding the pods, and that satisfies the psychological urge to snack as well as being a proteiny source of nutrition.
Make sure you are getting enough actual calories in your meals. If you're just eating salads you feel hungry because you aren't getting enough nutrition or energy from it, and of course you'll want high-calorie foods as snacks.