FileInfo fi = new FileInfo(fileToExcecute);
Directory.SetCurrentDirectory(fi.DirectoryName);
ProcessStartInfo pInfo = new ProcessStartInfo();
pInfo.FileName = fileToExcecute;
pInfo.RedirectStandardOutput = false;
pInfo.RedirectStandardError = false;
pInfo.CreateNoWindow = false;
pInfo.UseShellExecute = true;
pInfo.WorkingDirectory = fi.DirectoryName;
if (runas)
pInfo.Verb = "runas";
pInfo.WindowStyle = ProcessWindowStyle.Normal;
Process p = Process.Start(pInfo);
Значок приложения отсутствует на панели задач. Это просто пустой квадрат!
Вышеприведенный код отлично подходит для нескольких проектов, но не работает с одной конкретной программой - позволяет называть его projectX.exe. Я переписал Main, а также методы запуска projectX.exe, чтобы они имитировали другой проект, который хорошо отображает его значок.
Я пытался в течение нескольких дней выяснить, почему, но провалился. Я пробовал различные идеи, включая изменение значка, изменение его во время выполнения, а также переключение на то, должно ли оно отображаться или нет.
Если мне требуется, чтобы projectX.exe запускался как администратор, значок отображается нормально, но этот параметр недоступен для моих клиентов.
Редактировать 20 окт 2017 Если я изменил имя "projectX.exe" на что-то еще, например, "test.exe", тогда на панели задач появится значок "ОК". Где значки для программы, хранящейся в реестре?
Редактировать 22 октября 2017 года После обновления значков, как было предложено, при запуске программы из Проводника или создании ярлыка значок больше не отображается на панели задач.
Редактировать 12 ноября 2017 года Запустив программу "Как администратор", значок отобразится на панели задач, как ожидалось.