私はGetOpenFileName
を使ってC++でファイルを開くのですが、lpstrInitialDir
で "Computer"仮想位置に初期ディレクトリを設定することは可能ですか?GetOpenFileNameはデフォルトディレクトリ 'Computer'で開きますか?
ありがとう、 Lee。
私はGetOpenFileName
を使ってC++でファイルを開くのですが、lpstrInitialDir
で "Computer"仮想位置に初期ディレクトリを設定することは可能ですか?GetOpenFileNameはデフォルトディレクトリ 'Computer'で開きますか?
ありがとう、 Lee。
GetOpenFileName
では、使用する場所がファイルシステムの一部ではないため、これはできません。むしろ、より広いシェル名前空間の一部です。
GetOpenFileName
のドキュメントを見ると、Common Item Dialogsに(10年以上前に)置き換えられていることがわかります。これらのダイアログでは、初期フォルダをシェル項目として指定できます。
Vistaより古いレガシーWindowsをサポートする必要がある場合は、IFileDialog
が利用できない場合は、シェルフォルダGUIDを指定してみてください。たとえば、 GUIDは20D04FE0-3AEA-1069-A2D8-08002B30309D
です。あなたはこのようにそれを指定することができます。
ofn.lpstrInitialDir = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}";
しかし、それはこの方法は、ほぼによりだから、behavioral changes
に、後でWindows 7で失敗し、する運命にあることは注目に値する、あなたは上のIFileDialog
を使用してオフに優れていますVistaとその代わりに。
試しましたか?そうでない場合:どうしてですか? –
Windows 7では、開いているダイアログボックスや保存ダイアログボックスやlpstrInitialDirでカレントディレクトリを変更した場合は、最初に開くダイアログや保存ダイアログを呼び出すときにプログラムで使用された最初のlpstrInitialDirと同様に使用されますlpstrInitialDirで指定されているものの代わりにhttps://msdn.microsoft.com/it-it/library/windows/desktop/ms646839(v=vs.85).aspx –
私はそれが動作しない "コンピュータ"を試した有効ではありません。 – user3725395