Folderオブジェクトからアイコンを取得する方法が分からない

解決


おく  URL  2002-08-07 01:40:25  No: 75946  IP: [192.*.*.*]

開発言語  VB6(SP5)
PC  Win2000

Shell Objects(Shell Object for scripting and Visual Basic)を
使ってエクスプローラを作ってるのですが、
Folderオブジェクトからアイコンを取得する方法が分からない(>_<)/
Folderオブジェクトからアイコンを取得することって可能でしょうか?

編集 削除
K.J.K.  2002-08-07 14:02:39  No: 75947  IP: [192.*.*.*]

# 久しぶりにここにあらわれたりする...

提示されたオブジェクトにはアイコンを取得する機能はありませんし、
アイテムのIDも隠蔽されてしまっているので、そこから直接求めるのは
難しいでしょう。

ファイル名・Parseされた名前を得て、そこからAPI関数のSHGetFileInfo
で求めることになるのでは。

編集 削除
おく  URL  2002-08-07 20:37:10  No: 75948  IP: [192.*.*.*]

やはり無理でしたか。
FileSystemObjectを使って作っていたので、
Folderオブジェクトでと思ったんですが。

FileSystemObjectを使うと遅いので、
APIのFindFirstFileについでに変えます。
SHGetFileInfoまだ使ったこと無いので、
思いつきませんでした。ありがとうございます。
でもなんかスピード重視で作ったら、APIだらけ。
これって  VB?

編集 削除
Say  2002-08-08 00:21:28  No: 75949  IP: [192.*.*.*]

本当にスピード重視なら、
言語にVBを選択すること自体
既に間違ってます。   (^^;

編集 削除
おく  URL  2002-08-08 01:00:56  No: 75950  IP: [192.*.*.*]

やっぱり!
最近APIほぼオンリーで作ることが増えました。
これだとまるで、C言語じゃん。
じゃあ、C言語の方がいいじゃん。
でもC言語訳分かりません。
コボラーには、難しすぎっ(>_<)/

編集 削除
K.J.K.  2002-08-08 10:01:38  No: 75951  IP: [192.*.*.*]

別に慣れている言語を使えばいいのでは。API関数を使う、と云っても、
VBに合わせて上手く使うのであれば、問題があるとは言えませんし。

昔、FolderTree (Directory Treeに非ず)を作ったときは、タイプ
ライブラリを作成した上で、IShellFolderなどを直接扱い、API関数
でTreeViewを作成・管理していました。

編集 削除