質問: "C:\\test.txt"; SHFILEINFO FileInfo; IconList.Create(32,32,ILC_COLORDDB|ILC_MASK,1,1000); ::CoIntialise(NULL); SHGetFileInfo(FilePath,NULL,&FileInfo,sizeof(FileInfo),SHGFI_ICON|SHGFI_SMALLICON);
回答: スペルミスの件は、「CoInitialize」と「CoInitialise」の差(zとsの違いのこと)を言ったつもりだったんですけど。 だいたい最初の発言では「CoIntialise」でiも落ちてますし。 で、ImageList.Add()のASSERTで落ちている、ということは、hIconにアイコンハンドルがきちんと渡ってない、ということですよね? とりあえずSHGetFileInfoの返値を見てみて、 if( SHGetFileInfo(...) ) { IconList.Add( hIcon ); } という風にすれば、とりあえず落ちることはないと思いますけど。 あと、念のために確認しますが、FilePathで示されているファイルは実在しますよね?