According to John Gossman Sparkle is completly managed with only one p/invoke call. Even this wasn't necessary but the chose to use it rather than introduce a dependancy on winforms.