Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
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?
[Discipulus]: Random_Walk maybe you want to reply to the first, original question: that one will be reaped soon

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (9)
As of 2018-05-24 08:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?