Имя: Пароль:
1C
1С v8
Как программно отредактировать ярлык к файлу?
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
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
Спасибо =)
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан