
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.135.236.62] |
![]() |
|
Сообщ.
#1
,
|
|
|
Здравствуйте.
Недавно понадобилось написать приложение под вин це 5.0 на C#, одна из функций которого создавать ярлыки на рабочем столе. Так вот у меня никак не получается это сделать. Нашел пару примеров создания ярлыков: 1. с ком объектом. но в приложения для вин це ком объекты добавить невозможно(в самой студии) 2. без ком объекта. но приложения под вин це не поддерживают один из интерфейсов, используемых в данном примере(System.Runtime.InteropServices.ComTypes.IPersistFile). Как быть ? |
Сообщ.
#2
,
|
|
|
Этот вопрос решился, файл ярлыка(.lnk) просто текстовый файл с путем к запускаемой программе:
![]() ![]() string s = @"\Flash\Terminal CE\Terminal CE.exe"; int beginFileName = s.LastIndexOf(@"\"); int endFileName = s.LastIndexOf("."); string fileName = s.Substring(beginFileName + 1, endFileName - beginFileName - 1); string shortCutName = string.Format("{0}.lnk", fileName); string pathToDesktop = @"\Windows\Desktop\"; string fullPath = string.Format("{0}{1}", pathToDesktop, shortCutName); //File.Create(fullPath); int pathLength = s.Length; try { using (StreamWriter file = new StreamWriter(fullPath, true)) { file.WriteLine(string.Format("{0}#\"{1}\"", pathLength + 2/*+кавычки*/, s)); } } catch(Exception ex) { MessageBox.Show("Error writing"); } Появился другой вопрос: не могу читать из текстового файла, в вин се иконки на нем нет, поэтому, подозреваю, надо тхт расширение через реестр регистрировать, в общем не понятно пока |
Сообщ.
#3
,
|
|
|
Ситуация немного прояснилась, если файл находится на флешке/флеш карте/флеш памяти устройства, классы File, Directory, Reader-ы с ним не работают, если на рабочем столе - все работает
|
Сообщ.
#4
,
|
|
|
Вопрос решился по средствам морт скрипта. Морт скрипт копирует файл в озу и запускает мою прогу.
|