Вопрос

Мой код обрабатывает все файлы в папке на коробке Windows. Я хочу предложить пользователю (который также является мной) возможность выбрать папку для обработки с помощью стандартного диалога выбора файлов.

Я пытаюсь использовать GetOpenFileName , чтобы это произошло. (На самом деле я звоню из Python через py32 , но это не должно относиться к делу.)

Я могу заставить его выбрать конкретный файл, но я не вижу вариантов, позволяющих пользователю выбрать папку вместо этого.

Есть ли комбинация флагов, которую я не понял, я вызываю неправильную функцию полностью или есть другая идиома для этого?

Это было полезно?

Решение

К сожалению, я думаю, что вы вызываете неправильную функцию полностью. Прошло много времени с тех пор, как я работал с Win32 в графическом интерфейсе ... но я, кажется, вспоминаю, что был другой способ вызвать " выбрать каталог " коробка. Это была не простая функция Win32, а какая-то API-функция оболочки, для выполнения которой требовалась целая куча кода.

Обновление: немного Google показывает SHBrowseForFolder функция.

Обновление два: вот пример для Python .

Другие советы

Как упоминает Грег, нужная вам функция является функцией оболочки. Вам нужна SHBrowseForFolder . , который довольно грязный, чтобы позвонить. Для этого есть также документация PyWin32 , в которой упоминается browse_for_folder. py sample.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top