Le associazioni di file non funzionano esattamente nella maniera che hai intuito (%1, ad esempio, non c'entra niente con il C++, ma è semplicemente un segnaposto per espandere il nome del file sulla linea di comando). Qui trovi tutta la teoria necessaria per capire come funzionano le associazioni di file; comunque per capire come fare nella pratica dai un'occhiata qui e qui.