Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re: Windows Shortcut Creation

by ikegami (Patriarch)
on Jul 26, 2005 at 16:44 UTC ( [id://478280]=note: print w/replies, xml ) Need Help??


in reply to Windows Shortcut Creation

The following works for me on ActivePerl v5.6.1 on Win2k. It appears to be the minimal solution.

use Win32::Shortcut (); my $s = Win32::Shortcut->new(); $s->Path('C:\\TEMP'); $s->Save('C:\\TEMP.lnk'); # Test the shortcut. # Make sure C:\TEMP exists. # Make sure you have no windows displaying C:\TEMP. system('start "C:\\TEMP.lnk"');

The above was extracted from the following longer test:

use strict; use warnings; use Win32::Shortcut (); # Examine existing shortcut to C:\WINNT. my $s1 = Win32::Shortcut->new(); $s1->Load('C:\\WINNT.lnk'); print map { my $key = $_; my $val = $s1->$key(); sprintf("%-17s %s\n", "$key:", defined $val ? $val : '[undef]' ) } qw( Path ShortPath Arguments WorkingDirectory Description ShowCmd Hotkey IconLocation IconNumber ); # Clone existing shortcut to C:\WINNT. my $s2 = Win32::Shortcut->new(); do { my $key = $_; my $val = $s1->$key(); $s2->$key($val); } foreach qw( Path ShortPath Arguments WorkingDirectory Description ShowCmd Hotkey IconLocation IconNumber ); $s2->Save('C:\\WINNT2.lnk'); system('start "C:\\WINNT2.lnk"'); # Create new shortcut to C:\TEMP. my $s3 = Win32::Shortcut->new(); $s3->Path('C:\\TEMP'); $s3->Save('C:\\TEMP.lnk'); system('start "C:\\TEMP.lnk"');

Replies are listed 'Best First'.
Re^2: Windows Shortcut Creation
by gwhite (Friar) on Jul 27, 2005 at 15:20 UTC

    the system command will start this within Perl, but the shortcut will not work by clicking on it.

    g_White

      I beg to differ. Not only does it work for me when I click on it, I didn't use the system command to start it within Perl. I used Windows's start utility, which is (supposed to be) the same thing as clicking on it.

      Did you change anything?

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others goofing around in the Monastery: (3)
As of 2024-03-29 05:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found