Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Win32 BrowseForFolder

by nikosv (Hermit)
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;
Comment on Win32 BrowseForFolder
Download Code

Back to Snippets Section

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 taking refuge in the Monastery: (11)
As of 2014-12-27 22:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (177 votes), past polls