Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Win32 BrowseForFolder

by nikosv (Chaplain)
on Apr 05, 2009 at 13:01 UTC ( #755558=snippet: print w/replies, xml ) Need Help??
Description: Win32 BrowseForFolder. Creates a dialog box that enables the user to select a folder. This small procedure is part of a larger programm that lets you choose a directory and manipulate its contents i.e combines nicely with File::Find
use Win32::API;
use Cwd;

sub choose_dir {
    $SHBrowseForFolder=new Win32::API('shell32.dll','SHBrowseForFolder
+','P','N');
    $SHGetPathFromIDList=new Win32::API('shell32.dll','SHGetPathFromID
+List','NP','N');

my $display="CHOOSE starting directory...";
my $BrowseInfo=pack('LLLpLLLL',0,0,0,$display,0,0,0,0,0);
my $pidl=$SHBrowseForFolder->Call($BrowseInfo);

my $dir=pack('x100');
$SHGetPathFromIDList->Call($pidl,$dir);

$dir =~ s/\0//g;
chdir $dir;
print "current dir: ",cwd();
}

choose_dir;
Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: snippet [id://755558]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (2)
As of 2016-10-01 02:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Extraterrestrials haven't visited the Earth yet because:







    Results (574 votes). Check out past polls.