Perl в Windows, ассоциациях файлов и перенаправлении ввода-вывода

Чтобы помочь поддерживающим разработчикам прочитать код, я предложил бы первую альтернативу.

6
задан Brian Rasmussen 17 August 2009 в 08:55
поделиться

1 ответ

Похоже, это была известная ошибка в Windows 2000: Перенаправление STDIN / STDOUT может не работать, если запущено из файловой ассоциации .

У меня такое же поведение вы описываете с помощью Strawberry Perl на WinXP, однако, как только я создал запись реестра, описанную в статье выше (даже если запись reg нацелена на Windows 2000), stdin работает должным образом. если указанная выше ссылка исчезнет, ​​то запись в регистре, которую она предлагает создать, будет:

  1. Запустить редактор реестра.
  2. Найдите и щелкните следующий раздел реестра: HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer
  3. В меню «Правка» щелкните «Добавить значение» и добавьте следующее значение реестра:
    • Имя значения: InheritConsoleHandles
    • Тип данных: REG_DWORD
    • Радикс: Десятичное
    • Данные значения: 1
  4. Выйти из редактора реестра.

Изменить : Я должен добавить, что хотя в статье KB утверждается, что это было исправлено в XP SP1, у меня установлена ​​XP SP3. Так что я не могу сказать, сломала ли это MS это или никогда не исправляла полностью!

9
ответ дан 10 December 2019 в 02:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: