Look into Win32::GUI. It should have functions to call "getOpenFile" type things.
Win32::GUI is like Tk but is Windows-only. The advantage is that it uses the native Win32 widgets, not ones emulated by Tk. Also, if you compile a Perl script to an EXE, a Tk script is automatically 3 MB in size because it includes the whole Tk lib, whereas a Win32::GUI executable is much much smaller, because it uses function calls to Windows, and doesn't include all the dirty window codes.
At any rate, in Win32::GUI when you make a new window, it doesn't appear by default, you have to show() it when you want it to appear. So, you could create a Win32::GUI window and keep it invisible, and use that to spawn your getOpenFile calls.
Also, Win32::GUI can make system tray icons for your program, but that's a different nifty feature in itself. ;-)
-------------
Cuvou.com | The NEW Kirsle.net