Я использую следующий код для создания ярлыков для нескольких файлов и копирования их в папку автозагрузки. Программа работает на Windows XP и построена с использованием .net framework 2.0.C# create shortcut error
Создание ярлыка кода
try
{
object shDesktop = (object)"Desktop";
WshShell shell = new WshShell();
//Shorcut name
string shortcutAddress = @"C:\Documents and Settings\Astrophysics Inc\Start Menu\Programs\Startup\Shortcut to " + s + ".lnk";
IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(shortcutAddress);
shortcut.Description = "New shortcut for a Notepad";
shortcut.Hotkey = "Ctrl+Shift+N";
//File path
shortcut.TargetPath = @"C:\Program Files\" +path+ @"\" + s + ".exe";
shortcut.Save();
}
catch (Exception) { };
Так ошибка заключается в следующем: Если я запустить файл с помощью ярлыка, я могу видеть его в процессах, но я не могу иметь каких-либо показаний от него. Однако, если я перейду к свойствам и найду местоположение ярлыка (фактический файл) и откройте его из своей собственной папки, приложение работает. Я попытался создать тот же ярлык физически (не используя C#), и он работает по назначению.
Как вы думаете, может быть проблема? Пытался запустить его несколько раз и получил ту же проблему. И да, я уверен, что ярлык связан с одним и тем же файлом.
Это работает мной, хотя я не нахожусь на XP. Как он реагирует на набор свойств WorkDirectory? –
Он отлично работает и на окнах 7. Кроме того, я не получаю никаких ошибок, создается ярлык, файл загружается, но не работает должным образом, когда запускается из этого конкретного ярлыка. Я попытаюсь установить свойство рабочего каталога и сообщить об этом. –
@JedBurke добавляет рабочий каталог, исправил проблему! Благодаря! –