У меня все еще есть проблема, что я не знаю, где хранить мой TrayIcon
. В принципе, если Windows собирается запустить мою программу из «автозапуска» ... она разбилась. Я узнал, что мой заданный путь к TrayIcon - проблема. Загружаю TrayIcon с помощью этой команды в C# WPF:Где я должен хранить TrayIcon моего приложения?
NotifiIcon.Icon = new System.Drawing.Icon(@"icon.ico");
Потому что нет никаких проблем в целом ручного запуска процесса (двойной щелчок по исполняемому файлу). Но, когда я пытаюсь запустить программу из реестра Windows при запуске, программа выйдет из строя. Проблема заключается в том, что процесс автозапуска не смог найти значок. Дальше я пробовал:
NotifiIcon.Icon = new System.Drawing.Icon(Environment.CurrentDirectory + @"\icon.ico");
Но то же самое произошлоd.
Итак, две вещи, где я собираюсь найти лучший способ (мы надеемся):
- Есть ли способ решить эту проблему без использования каталога Windows, чтобы сохранить икону, или
- Есть ли место сохранения в любой системе Windows, чтобы сохранить значок?
Вы можете хранить и получить доступ к значку в качестве встроенного ресурса, или в файле ресурсов. Это в основном включает сам значок в сгенерированной сборке. Вам не нужно знать какие-либо пути, кроме пространства имен вашей сборки. –
Два фрагмента идентичны и имеют ту же самую проблему, kaboom, когда CurrentDirectory не там, где вы надеетесь. Сначала используйте ресурс, Assembly.Location. –
Спасибо, что помогли мне. Я решил проблему, используя «Drag & Drop», чтобы добавить значок в папку «Изображения». Затем я установил путь к: 'Stream iconStream = System.Windows.Application.GetResourceStream (новый Uri (« pack: // application: ,,,/Images/sqldbmb.ico »)). Stream; ! – Webapache