I have a HP printer and I remember that on Windows XP the drivers had a section to clean printer head cartridges. On Windows Vista, I don't have this option.
Do you know any general software which can do that for me?
You can simulate that function by using paint to make some screens with big blotches of solid colors, then repeatedly printing them out. Basically it cleans them by blasting lots of ink through it. Not cheap, but seems to be effective.