'GetOpenFileName' seems to be the Windows API function to use for this, but it requires a 'OPENFILENAME' structure to send and recieve data.
How you'd go about setting up and communicating this structure with its non Blitz data types to the appropriate Windows API DLL from within Blitz I have no idea, though there's probably some way of doing it (by passing banks, etc).
This Purebasic forum page has some links on the Windows API that might be of use to you.
http://purebasic.myforums.net/viewtopic.php?t=10046
How you'd go about setting up and communicating this structure with its non Blitz data types to the appropriate Windows API DLL from within Blitz I have no idea, though there's probably some way of doing it (by passing banks, etc).
This Purebasic forum page has some links on the Windows API that might be of use to you.
http://purebasic.myforums.net/viewtopic.php?t=10046