none
Получение имени файла содержащего иконку данного ярлыка RRS feed

  • Вопрос

  • Есть ярлык. Как из скрипта узнать имя файла с его иконкой и её номер в файле?

    Вот что нашёл на http://msdn2.microsoft.com/en-us/library/bb773990.aspx

    GetIconLocation Method

    Gets the location of the icon assigned to the link.

    Syntax

    iIcon = ShellLinkObject.GetIconLocation(sPath)

    Parameters

    sPath:  Required. When this method returns, it holds the fully qualified path of the file that contains the icon.

    Return Value

    Returns the icon's index in the file specified by sPath.

     

    Но здесь есть возможность получить только номер иконки. И что характерно, оказалось, что в качестве sPath можно подставлять любое значение (хоть имя любого существующего, хоть не существующего файла, хоть просто "") на результат это не оказывает ни какого значения. Или я что-то недо понял или ...

    14 декабря 2007 г. 7:07

Ответы

  • PS C:\PowerShell> $shell = New-Object -com wscript.shell
    PS C:\PowerShell> $shortcut = $shell.CreateShortcut( "c:\Users\xaegr\Desktop\link.lnk" )
    PS C:\PowerShell> $shortcut.IconLocation
    %SystemRoot%\system32\SHELL32.dll,13

     

    Несмотря на то что используется CreateShurtcut, можно указать существующий файл - он просто будет прочитан. Для сохранения изменений или создания нового ярлыка можно использовать метод .Save()

    Часть до запятой - файл в котором содержится значек, число после запятой - его индекс в ресурсах. Отсчет идет с 0.

     

    На vbs тут например можно почитать - http://www.microsoft.com/technet/scriptcenter/resources/qanda/dec06/hey1213.mspx

    17 декабря 2007 г. 5:31
    Модератор