デスクトップ上の全ファイル取得
開発環境
WindowsXP,SP2
Visual Studio 2005
VC++ SDK
SHGetFolderPath()でデスクトップのパスを取得した後、FindFirstFileによってデスクトップ上の全ファイル及びディレクトリの名前を取得したいと考えております。
SHGetFolderPathで取得したパスは、
C:\Documents and Settings\...\デスクトップ
となっており、この文字列をwsprintfで次のように加工しました。
wsprintf(output,"%s\\*.*","C:\Documents and Settings\...\デスクトップ");
このoutputをFindFirstFile,FindNextFile,FindCloseを組み合わせたプログラムでディレクトリ内の全てのファイル及びディレクトリの名前を取得しています。
このプログラムは普通(?)のディレクトリでは有効で、こちらの期待通りの動きをしてくれるのですが、取得したデスクトップのパスを渡すと、デスクトップフォルダ内にはデスクトップという名前のフォルダしかないと出力されます。以下のような感じです。
調査ディレクトリ:C:\Documents and Settings\...\デスクトップ
調査結果
"C:\Documents and Settings\...\デスクトップ"ディレクトリ内のファイル及びディレクトリ:デスクトップ
これはWindowsの仕様の動作なのでしょうか。
特殊フォルダであるデスクトップは、FindFirstFileでは調査出来ないのでしょうか?
他に方法はありますか?
どうか教えてください。
お礼
ありがとうございました。ダブルクォーテーションでできました。