I can't help you as to 1 & 2; it's been a while, and I'm in linux now, so can't look around easily. As to 3, however, you're probably better off using Win32::GUI; it'll fit better into the rest of the user's experince. (And you can probably get it to host IE inside of it's UI, which might be a Good Thing depending on what exactly it is that you're doing.)