デスクトップ上のファイルを検索するには?


まちゃはげ  2004-03-12 11:56:59  No: 53302  IP: [192.*.*.*]

char  dir[80];
SHGetSpecialFolderPath( NULL,dir,CSIDL_DESKTOPDIRECTORY,FALSE );
で、デスクトップのパスを取得した後に、
if ( ffind.FindFile( dir ) ) {
while ( ffind.FindNextFile() ) {

編集 削除
まちゃはげ  2004-03-12 11:59:51  No: 53303  IP: [192.*.*.*]

書いてる途中で、まちがえて送信してしまいました。
char    dir[80];
SHGetSpecialFolderPath( NULL,dir,CSIDL_DESKTOPDIRECTORY,FALSE );
で、デスクトップのパスを取得した後に、
if ( ffind.FindFile( dir ) ) {
while ( ffind.FindNextFile() ) {
でファイルを検索しようとしましたがwhile文の中に入れません。
だれか、デスクトップ上のファイルの検索方法を教えてください。
よろしくおねがいします。

編集 削除
Toshi  2004-03-12 14:32:40  No: 53304  IP: [192.*.*.*]

いまいち、やりたい事が自分自身見えてない気が・・・
上のロジックだとこうなりますよ?
・デスクトップフォルダのパス取得
・パスの取得が出来てるものをFindFirst。(絶対に一発でヒット)
・デスクトップのパスが2つ以上有る訳では無いので、FindNextでは
  絶対にひっかからない。

やりたいことは、デスクトップのパス+"\\目的ファイル名" の検索なのでは?

編集 削除
西園寺  2004-03-12 16:24:17  No: 53305  IP: [192.*.*.*]

原因はToshiさんの言うとおりですね。
dirにワイルドカードをくっつけてやればOK。
  strcat(dir, "\\*.*");

> いまいち、やりたい事が自分自身見えてない気が・・・
いや、単にCFileFind::FindFile()の使い方を勘違いしてただけでしょう。
やりたい事はハッキリしてると思います。

編集 削除