char dir[80];
SHGetSpecialFolderPath( NULL,dir,CSIDL_DESKTOPDIRECTORY,FALSE );
で、デスクトップのパスを取得した後に、
if ( ffind.FindFile( dir ) ) {
while ( ffind.FindNextFile() ) {
書いてる途中で、まちがえて送信してしまいました。
char dir[80];
SHGetSpecialFolderPath( NULL,dir,CSIDL_DESKTOPDIRECTORY,FALSE );
で、デスクトップのパスを取得した後に、
if ( ffind.FindFile( dir ) ) {
while ( ffind.FindNextFile() ) {
でファイルを検索しようとしましたがwhile文の中に入れません。
だれか、デスクトップ上のファイルの検索方法を教えてください。
よろしくおねがいします。
いまいち、やりたい事が自分自身見えてない気が・・・
上のロジックだとこうなりますよ?
・デスクトップフォルダのパス取得
・パスの取得が出来てるものをFindFirst。(絶対に一発でヒット)
・デスクトップのパスが2つ以上有る訳では無いので、FindNextでは
絶対にひっかからない。
やりたいことは、デスクトップのパス+"\\目的ファイル名" の検索なのでは?
原因はToshiさんの言うとおりですね。
dirにワイルドカードをくっつけてやればOK。
strcat(dir, "\\*.*");
> いまいち、やりたい事が自分自身見えてない気が・・・
いや、単にCFileFind::FindFile()の使い方を勘違いしてただけでしょう。
やりたい事はハッキリしてると思います。
ツイート | ![]() |