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


まちゃはげ  2004-03-12 20:56:59  No: 53302

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


まちゃはげ  2004-03-12 20:59:51  No: 53303

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


Toshi  2004-03-12 23:32:40  No: 53304

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

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


西園寺  2004-03-13 01:24:17  No: 53305

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

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加