sub BrowseForFolder { undef $Win32::FileOp::Error; my ($hwndOwner, $pidlRoot, $pszDisplayName, $lpszTitle, $nFolder, $ulFlags, $lpfn, $lParam, $iImage, $pszPath) = (GetWindowHandle(), "\0"x260, "\0"x260, shift() || "\0", shift() || 0, (shift() || 0) | 0x0000, 0, 0, 0, "\0"x260); $nFolder = CSIDL_DRIVES() unless defined $nFolder; ....