4

私のコードは、Windowsボックス上のフォルダー内のすべてのファイルを処理します。標準の[ファイルの選択]ダイアログを使用して、処理するフォルダーを選択するオプションをユーザー(たまたま私でもある)に提供したいと思います。

GetOpenFileName関数を使用してこれを実現しようとしています。(私は実際にPythonからpywin32を介して呼び出していますが、それは関係ありません。)

特定のファイルを選択するように取得できますが、代わりにユーザーがフォルダーを選択できるようにするオプションが表示されません。

理解していないフラグの組み合わせはありますか、間違った関数を完全に呼び出していますか、それともこれを行うための別のイディオムがありますか?

4

2 に答える 2

7

残念ながら、あなたは完全に間違った関数を呼び出していると思います。Win32 の GUI を使ってからしばらく経ちましたが、「ディレクトリの選択」ボックスを表示する別の方法があったことを思い出したようです。これは単純な Win32 関数ではありませんでしたが、最も単純なことを行うために大量のコードを必要とするシェル API 関数でした。

更新: 少しグーグルでSHBrowseForFolder関数が明らかになりました。

更新 2: Python の例を次に示します。

于 2008-11-10T04:37:56.900 に答える
2

グレッグが言及しているように、必要な関数はシェル関数です。必要な特定の関数は ですSHBrowseForFolder。これは、呼び出すのがかなり面倒です。サンプルについて言及しているPyWin32 ドキュメントもありbrowse_for_folder.pyます。

于 2008-11-10T04:52:06.140 に答える