Имя: Пароль:
1C
1С v8
Пытаюсь создать ShortCut с параметрами, не дает.
0 Гений 1С
 
гуру
21.12.12
15:06
Вот код:

Ругается, если пытаюсь добавить парамеры. Как быть?


//Источник вдохновения: http://www.askit.ru/custom/progr_admin/m10/10_shortcuts.htm

//Получаем каталог базы
СтрокаСоединения = СтрокаСоединенияИнформационнойБазы();//File="C:\1cv8\Base".
СтрокаСоединения = СтрЗаменить(СтрокаСоединения, "File=", "");
СтрокаСоединения = СтрЗаменить(СтрокаСоединения, ";", "");
СтрокаСоединения = СокрЛП(СтрокаСоединения);
Если Лев(СтрокаСоединения, 1) = """" Тогда
   СтрокаСоединения = Сред(СтрокаСоединения, 2);
КонецЕсли;
Если Прав(СтрокаСоединения, 1) = """" Тогда
   СтрокаСоединения = Сред(СтрокаСоединения, 1, СтрДлина(СтрокаСоединения) - 1);
КонецЕсли;


oShell = Новый ComObject ("WScript.Shell");
ПапкаМоиДокументы = oShell.RegRead("HKCU\software\microsoft\windows\currentversion\explorer\shell folders\personal");
Сообщить(ПапкаМоиДокументы);
ПапкаДесктоп = oShell.RegRead("HKCU\software\microsoft\windows\currentversion\explorer\shell folders\desktop");
Сообщить(ПапкаДесктоп);
Команда = """" + ПапкаМоиДокументы + "\Check1CD.exe"" 1 """ + СтрокаСоединения + """";
Команда = """" + ПапкаМоиДокументы + "\Check1CD.exe""" ;
//Команда = ПапкаМоиДокументы ;
Сообщить(Команда);
oShortCut = oShell.CreateShortcut(ПапкаДесктоп + "\Проверить базу данных 1С на ошибки.lnk");
oShortCut.TargetPath = Команда;
oShortCut.Save();
1 Гений 1С
 
гуру
21.12.12
15:13
{(31)}: Ошибка при установке значения атрибута контекста (TargetPath): Произошла исключительная ситуация (0x80070057)
oShortCut.TargetPath = Команда;
по причине:
Произошла исключительная ситуация (0x80070057)
2 acsent
 
21.12.12
15:14
текст команды
3 Гений 1С
 
гуру
21.12.12
15:15
(2) под катом текст. или что ты спрашиваешь?
текст выглядит так:

"C:\Users\s.osipov\Documents\Check1CD.exe" 1 "m:\fixin\PIM-1S"
4 vmv
 
21.12.12
15:18
от лукавого, досвидос
5 Гений 1С
 
гуру
21.12.12
16:12
6 Ёпрст
 
гуру
21.12.12
16:27
(3) дык сделай, чтоб было так:

"C:\Users\s.osipov\Documents\Check1CD.exe 1 m:\fixin\PIM-1S"

токма вот, 1 - это че ?
7 Гений 1С
 
гуру
21.12.12
17:07
(6) На сиквиле подсказалии:

//Источник вдохновения: http://www.askit.ru/custom/progr_admin/m10/10_shortcuts.htm

//Получаем каталог базы
СтрокаСоединения = СтрокаСоединенияИнформационнойБазы();//File="C:\1cv8\Base".
СтрокаСоединения = СтрЗаменить(СтрокаСоединения, "File=", "");
СтрокаСоединения = СтрЗаменить(СтрокаСоединения, ";", "");
СтрокаСоединения = СокрЛП(СтрокаСоединения);
Если Лев(СтрокаСоединения, 1) = """" Тогда
   СтрокаСоединения = Сред(СтрокаСоединения, 2);
КонецЕсли;
Если Прав(СтрокаСоединения, 1) = """" Тогда
   СтрокаСоединения = Сред(СтрокаСоединения, 1, СтрДлина(СтрокаСоединения) - 1);
КонецЕсли;


oShell = Новый ComObject ("WScript.Shell");

ПапкаМоиДокументы = oShell.RegRead("HKCU\software\microsoft\windows\currentversion\explorer\shell folders\personal");
ПапкаДесктоп = oShell.RegRead("HKCU\software\microsoft\windows\currentversion\explorer\shell folders\desktop");
Команда = """" + ПапкаМоиДокументы + "\Check1CD.exe""";
Аргументы = " 1 """ + СтрокаСоединения + """";

//Для отладки
Сообщить(ПапкаМоиДокументы);
Сообщить(ПапкаДесктоп);
Сообщить(Команда);

//Извлекаем сохраненный в базе EXE-файл и копируем его в мои документы
ДвДанФайла = Справочники.СапКонстанты.НайтиПоКоду("Check1CD").ЗначениеХранилище.Получить();
ДвДанФайла.Записать(ПапкаМоиДокументы + "\Check1CD.exe");
//Команда = """" + ПапкаМоиДокументы + "\Check1CD.exe""";
//Создаем ярлык на рабочий стол
oShortCut = oShell.CreateShortcut(ПапкаДесктоп + "\Проверить базу данных 1С на ошибки.lnk");
oShortCut.TargetPath = Команда;
oShortCut.Arguments = Аргументы;
oShortCut.Save();
Закон Брукера: Даже маленькая практика стоит большой теории.