Мне нужно было добавить новую запись в мою переменную PATH. Для меня это обычное занятие, но я недавно начал использовать Windows 8. Я предполагал, что процесс будет похож на Windows 7, Vista, XP ...
Вот моя последовательность событий:
- Откройте Свойства системы (Пуск-> [тип "Панель управления"] -> Панель управления \ Система и безопасность \ Система -> Расширенные настройки системы -> Переменные среды)
- Добавить новый путь в начало моей переменной USER PATH (C:\ dev \ Java \ apache-ant-1.8.4 \ bin;)
- Открыл командную строку (Пуск -> [введите "командная строка" введите] -> [введите "путь" введите]
Мой новый путь не доступен (см. Прикрепленное изображение и видео). Я дублировал тот же процесс на компьютере с Windows 7, и он работал.
РЕДАКТИРОВАТЬ
Переменные среды Windows 8 и видео командной строки
РЕДАКТИРОВАТЬ
Это определенно не поведение Windows 7. Посмотрите это видео, чтобы увидеть поведение, которое я ожидаю работать в Windows 7. http://youtu.be/95JXY5X0fII
РЕДАКТИРОВАТЬ 31.05.2013
Итак, после большого разочарования я написал небольшое приложение на C # для тестирования события WM_SETTINGCHANGE
. Этот код получает событие в Windows 7 и Windows 8. Однако в Windows 8 в моей системе я не получаю правильный путь; но я делаю в Windows 7. Это не может быть воспроизведено в других системах Windows 8.
Вот код C #.
using System;
using Microsoft.Win32;
public sealed class App
{
static void Main()
{
SystemEvents.UserPreferenceChanging += new UserPreferenceChangingEventHandler(OnUserPreferenceChanging);
Console.WriteLine("Waiting for system events.");
Console.WriteLine("Press <Enter> to exit.");
Console.ReadLine();
}
static void OnUserPreferenceChanging(object sender, UserPreferenceChangingEventArgs e)
{
Console.WriteLine("The user preference is changing. Category={0}", e.Category);
Console.WriteLine("path={0}", System.Environment.GetEnvironmentVariable("PATH"));
}
}
OnUserPreferenceChanging
эквивалентно WM_SETTINGCHANGE
Программа на C #, работающая в Windows 7 (вы можете увидеть, как проходит событие, и он выбирает правильный путь).
Программа на C #, работающая в Windows 8 (вы можете видеть, как проходит событие, но неверный путь).
Есть что-то в моей среде, что ускоряет эту проблему. Однако это ошибка Windows 8?
РЕДАКТИРОВАТЬ 2014-04-28
В связи с этим и рядом других проблем мы больше не используем Windows 8 на рабочем столе. У нас нет среды для продолжения тестирования и экспериментов с этой проблемой. Для нас до сих пор нет ответа или решения этой проблемы. Ответы ниже не решили нашу проблему.