Sachverhalt: A. Der aus dem Kosovo stammende X._ (geb. 1961) reiste mit seiner Familie (Ehefrau Y._ und vier Kinder) 1991 als Asylbewerber in die Schweiz ein. 1993 wurde sein Asylgesuch letztinstanzlich abgewiesen. Im Jahr 2002 kehrte die Familie in den Kosovo zurück. Im selben Jahr wurde die Ehe geschieden und das elterliche Sorgerecht der Mutter übertragen, obwohl diese schon damals an psychischen Problemen litt. 2004 reiste X._ erneut als Asylbewerber in die Schweiz ein und heiratete eine Schweizer Bürgerin, worauf er eine Aufenthaltsbewilligung erhielt. Ein Gesuch um Nachzug seines ältesten Sohnes scheiterte im Jahr 2005. X._ wurde 2009 erleichtert eingebürgert. B. Nachdem am 24. November 2009 das Amtsgericht von Peja (Kosovo) aufgrund der psychischen Probleme der Kindsmutter das elterliche Sorgerecht über die beiden damals noch minderjährigen Kinder Z._ (geb. 1992) und W._ (geb. 1994) auf ihn übertragen hatte, stellte X._ am 11. März 2010 ein Nachzugsgesuch für diese beiden Kinder. Das Migrationsamt des Kantons Zürich wies das Gesuch am 9. November 2010 ab, und ein dagegen erhobener Rekurs blieb erfolglos (Entscheid der Sicherheitsdirektion des Kantons Zürich vom 12. Oktober 2011); mit Urteil vom 17. Januar 2012 hat auch das Verwaltungsgericht des Kantons Zürich eine dagegen erhobene Beschwerde abgewiesen. C. Mit Beschwerde in öffentlich-rechtlichen Angelegenheiten vom 20. Februar 2012 beantragt X._, das in dieser Sache zuletzt ergangene Urteil des Verwaltungsgerichts des Kantons Zürich aufzuheben und dem Gesuch um Familiennachzug zu entsprechen. Das Verwaltungsgericht und (sinngemäss) die Sicherheitsdirektion verzichten auf eine Vernehmlassung, das kantonale Migrationsamt hat sich nicht vernehmen lassen. Das Bundesamt für Migration beantragt, die Beschwerde abzuweisen.