Могу ли я использовать косую черту в диалоговом окне открытия файла Windows?

В стандартном диалоговом окне открытого файла Windows (например, в диалоговом окне, которое появляется в меню «Файл> Открыть» в «Блокноте»), я хотел бы иметь возможность вводить путь, содержащий слэши / . Но принимаются только обратные косые черты (я пытался как в Windows XP, так и в Windows 7). Я могу открыть c:\autoexec.bat , но если я попытаюсь открыть /autoexec.bat или c:/autoexec.bat , я получаю сообщение об ошибке

 c:/autoexec.bat The file name is not valid. 

Windows принимает косые черты в качестве разделителя путей в некоторых контекстах , но, к сожалению, не в диалоговом окне открытого файла, по крайней мере по умолчанию.

Есть ли волшебный параметр реестра, добавочная программа или другой разумный метод¹, который позволил бы мне использовать слэши в диалоговом окне открытия файла Windows ? Я особенно заинтересован в Office 2007 под управлением Windows 7, но предпочел бы решение, применимое ко всем приложениям, использующим стандартный диалог под XP и 7.

«Не использовать Windows» – это не вариант.

  • Как принудительно «выключить» в предопределенное время, в учетной записи администратора?
  • Создайте .zip папку из командной строки - (Windows)
  • Как разбить и объединить файлы?
  • Планирование задачи программы GUI и отображение ее графического интерфейса при входе в систему
  • Windows - Как переместить все файлы в подпапки в родительскую папку?
  • Восстановление OEM-лицензии с серийного номера ноутбука HP
  • Переместить Windows один пиксель в то время, используя клавиатуру?
  • «C: \ Program Files» в Windows Vista + (x64)
  • One Solution collect form web for “Могу ли я использовать косую черту в диалоговом окне открытия файла Windows?”

    Я боюсь, что ответ отрицательный : диалог вы видите из стандартного API окон, и большинство программ будут его использовать. При программировании есть несколько опций, которые можно включить / выключить, а одна из них – проблема с OFN_FILEMUSTEXIST в структуре OPENFILENAME . Я не мог найти ничего, подтверждающего, как именно это делает чек, не говоря уже о способе изменить, как он это делает.

    Единственное решение, которое я вижу на стороне Windows, – это исправление DLL, содержащего эту функцию, и сделать ее еще одной проверкой, позволяющей слэши, но для этого требуется огромное количество навыков.

    С другой стороны, все может быть исправлено, если вы программист какой-то: самый быстрый, о котором я могу думать (помимо изменения источника строк), создает небольшую программу командной строки, которая принимает текущий вход в буфер обмена, преобразует вперед На обратную косую черту и снова возвращает результат в буфер обмена. Поместите его в пакетный файл, назначьте ему ярлык и выполните его. Ваш рабочий процесс был бы: путь копирования, хит-ярлык, нажмите Ctrl-V в диалоговом окне, это всего лишь один простой дополнительный шаг. Я думаю, что большинство языков сценариев могут получать содержимое буфера обмена в окнах, и все они могут заменить регулярное выражение, так что это всего лишь несколько строк кода.

    Давайте будем гением компьютера.