![]() |
![]() |
![]() |
|
Как программно отредактировать ярлык к файлу? | ☑ | ||
---|---|---|---|---|
0
SeiOkami
27.11.12
✎
11:24
|
Создаю так:
Шелл = Новый COMОбъект("WScript.Shell"); Ярлык = Шелл.CreateShortcut("D:\asd.lnk"); Ярлык.TargetPath = пИмяФайла; Ярлык.Save(); А как можно открыть файл ярлыка, чтобы прочитать путь ? Open() не втыкнул =) |
|||
1
SeiOkami
27.11.12
✎
11:31
|
Помогите ^^
|
|||
2
Lenka_Boo
27.11.12
✎
11:35
|
(0) Все еще упрямо не хочешь хранить строку? :)
Храни строку - перезаписывай ярлык. |
|||
3
SeiOkami
27.11.12
✎
11:37
|
(2) =)
Да я еще не знаю... Может и строку придется хранить. А как бы ты сделал? |
|||
4
Wobland
27.11.12
✎
11:39
|
на зачем?
|
|||
5
SeiOkami
27.11.12
✎
11:40
|
(4) Да вот хочу ХранилищеДополнительнойИнформации переместить во вне
|
|||
6
Vladal
27.11.12
✎
11:41
|
1С 8
Shell = Новый COMОбъект("WScript.Shell"); РабочийСтол = Shell.SpecialFolders("Desktop"); Ярлык = Shell.CreateShortcut(РабочийСтол + "\\Regedit.lnk"); Ярлык.TargetPath = Shell.ExpandEnvironmentStrings("%windir%\\regedit.exe"); Ярлык.WorkingDirectory = Shell.ExpandEnvironmentStrings("%windir%"); Ярлык.WindowStyle = 1; Ярлык.IconLocation = Shell.ExpandEnvironmentStrings("%windir%\\regedit.exe, 0"); Ярлык.Save(); 1С 7.7 Shell = СоздатьОбъект("WScript.Shell"); РабочийСтол = Shell.SpecialFolders("Desktop"); Ярлык = Shell.CreateShortcut(РабочийСтол + "\\Regedit.lnk"); Ярлык.TargetPath = Shell.ExpandEnvironmentStrings("%windir%\\regedit.exe"); Ярлык.WorkingDirectory = Shell.ExpandEnvironmentStrings("%windir%"); Ярлык.WindowStyle = 1; Ярлык.IconLocation = Shell.ExpandEnvironmentStrings("%windir%\\regedit.exe, 0"); Ярлык.Save(); Источник: http://help1c.com/faq/view/559.html |
|||
7
Vladal
27.11.12
✎
11:41
|
||||
8
SeiOkami
27.11.12
✎
11:42
|
И?
|
|||
9
SeiOkami
27.11.12
✎
11:44
|
Вопрос не в создании, а в "чтении" существующего файла ярлыка
|
|||
10
Wobland
27.11.12
✎
11:46
|
(9) на зачем?
|
|||
11
SeiOkami
27.11.12
✎
11:51
|
Чтобы делать проверку есть ли файл. И для перспектив редактирования =)
|
|||
12
SeiOkami
27.11.12
✎
11:51
|
Неужели никто такого не знает?(
|
|||
13
rs_trade
27.11.12
✎
11:54
|
(12) Гугл знает. http://www.script-coding.com/WSH/WshShell.html#5.
|
|||
14
Wobland
27.11.12
✎
11:55
|
(11) строка. строго строка с путём и без всяких извращений
|
|||
15
dk
27.11.12
✎
11:57
|
(13) это на создание
|
|||
16
rs_trade
27.11.12
✎
11:59
|
(15) а почитать?
|
|||
17
Vladal
27.11.12
✎
12:02
|
(16) А там прикол, что только создавать.
3.11. CreateShortcut Синтаксис: CreateShortcut(<Path>) Назначение: возвращает объект "WshShortcut" или "WshURLShortcut", указывающий на ярлык .lnk или .url. Параметры: <Path> - строка, полный путь к создаваемому или изменяемому файлу ярлыка. Пример: Set WshShell = CreateObject("WScript.Shell") Set WshURLShortcut = WshShell.CreateShortcut("C:\Microsoft.url") WshURLShortcut.TargetPath = "http://microsoft.com" WshURLShortcut.Save 5. Объект WshShortcut 5.2. Свойства 5.2.1. Arguments Синтаксис: Arguments Возвращаемое значение: строка, параметры командной строки программы, запускаемой ярлыком. Замечание: чтение и запись. Вот именно этот метод и нужен, умеет читать. |
|||
18
Vladal
27.11.12
✎
12:04
|
Ну и еще один метод TargetPath
Возвращаемое значение: строка, содержащая путь к исполняемому файлу. чтение и запись. |
|||
19
rs_trade
27.11.12
✎
12:05
|
TargetPath
Замечание: чтение и запись. Шелл = Новый COMОбъект("WScript.Shell"); Ярлык = Шелл.CreateShortcut("D:\asd.lnk"); Сообщить(Ярлык.TargetPath); |
|||
20
SeiOkami
27.11.12
✎
12:05
|
(18), (19) Это всё для только что созданного файла.
|
|||
21
rs_trade
27.11.12
✎
12:07
|
(20) а ты попробуй для не только что созданного.
|
|||
22
SeiOkami
27.11.12
✎
12:11
|
(21) CreateShortcut() - Создание, а не открытие. Пробовал, но ничего не выдало, потому что у только что созданного этой командой ярлыка нет никаких данных. Если по такому адресу ярлык уже существует, то он не читается. Он вообще эту команду, я так понял, не колышит =)
|
|||
23
SeiOkami
27.11.12
✎
12:11
|
(14) видимо всё же так и будет (
|
|||
24
SeiOkami
27.11.12
✎
12:14
|
(21) ИЗВИНЯЮСЬ, не так код написал. Всё он открывает =)
|
|||
25
SeiOkami
27.11.12
✎
12:14
|
Спасибо =)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |