Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re: Windows Shortcut Creation

by jimbojones (Friar)
on Jul 26, 2005 at 16:38 UTC ( #478277=note: print w/replies, xml ) Need Help??

in reply to Windows Shortcut Creation


The following works for me on a WinXP Pro box:
use Win32::Shortcut; use strict; use warnings; my $link = Win32::Shortcut->new(); $link->{'Path'} = 'C:\Documents and Settings\jim\My Documents\google_m +aps.txt'; $link->{'WorkingDirectory'} = 'C:\Documents and Settings\jim\My Docume +nts'; $link->{'ShowCmd'} = SW_SHOWNORMAL; $link->Save('C:/Documents and Settings/jim/Desktop/google_maps.lnk'); $link->Close();
I created two links on my desktop, one the "normal" way, one with the script. They are of different sizes:

C:\Documents and Settings\jim\Desktop>dir *.lnk Volume in drive C is mecano Volume Serial Number is 84B7-29B9 Directory of C:\Documents and Settings\jim\Desktop 07.26.05 12:35 PM 648 google_maps.lnk 07.26.05 12:24 PM 594 Shortcut to Google_maps.txt.lnk
but seem the same on visual inspection. Both open the text file correctly without an additional prompt.

- j

Replies are listed 'Best First'.
Re^2: Windows Shortcut Creation
by terra incognita (Pilgrim) on Jul 26, 2005 at 18:32 UTC
    Looking at the actual link file with a hex editor shows that the file that is created programmatically contains a complete path for one of the attributes rather than a relative directory path like the manually created one.

    It is interesting to note that the complete path supplied does not contain the drive letter, in fact windows seems to ignore that path completely since changing it does not affect the link at all. However it does require the filename at the end, if that gets changed the link will not work correctly.

Re^2: Windows Shortcut Creation
by puploki (Hermit) on Jul 26, 2005 at 17:39 UTC
    Thanks to everyone's replies - yes, I can replicate the same results. Both the Perl script generated version and the "manual" way work correctly, albeit being different sizes.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (4)
As of 2022-01-23 10:20 GMT
Find Nodes?
    Voting Booth?
    In 2022, my preferred method to securely store passwords is:

    Results (63 votes). Check out past polls.