tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^7: ショートカットフォルダのアイコン取得
投稿日: 2009/01/20(Tue) 22:50
投稿者のぶ
オショウさん、何度も丁寧にすいません。

なかなかうまく説明できず…。
今、指定したフォルダのサブフォルダのアイコンを取得できるものをつくってます。
サブフォルダは shell.application で取得を実施しています。

下記は C:\Documents and Settings\userName\ 配下のサブフォルダを取得しようとしてます。
取得するとこのようなサブフォルダ名で取得されます。

  My Documents
  UserData
  WINDOWS
  デスクトップ  
  お気に入り

この時に、C:\Documents and Settings\userName\お気に入り\ の際にアイコンの
取得ができないのです。

なので、
If InStr(sName2.name, "お気に入り") > 0 Then
    fName = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Favorites)
End If
を入れて仮対処はしているのですが・・・。
なんとか、お気に入りだったらという条件をシステムフォルダだったらの条件にして
System.Environment.SpecialFolder.Favorites を編集できるようにしたいんです。

objShell2 = CreateObject("Shell.Application")
fol2 = objShell2.NameSpace("C:\Documents and Settings\userName\")
fc2 = fol2.Items()

Dim hImgSmall As IntPtr  
Dim fName As String
Dim shinfo As SHFILEINFO
shinfo = New SHFILEINFO()

For Each sName2 In fc2
     aaa = sName2.Name
     fName = e.Node.FullPath & "\" & sName2.name & "\"

     If InStr(sName2.name, "お気に入り") > 0 Then
        fName = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Favorites)
     End If

     '--- アイコンの取得・表示
     ListView1.SmallImageList = ImageList1
     ListView1.LargeImageList = ImageList1

     shinfo.szDisplayName = New String(Chr(0), 260)
     shinfo.szTypeName = New String(Chr(0), 80)
     hImgSmall = SHGetFileInfo(fName, 0, shinfo, Marshal.SizeOf(shinfo), _
   SHGFI_ICON Or SHGFI_SMALLICON Or SHGFI_SYSICONINDEX)
     Dim myIcon As System.Drawing.Icon
     myIcon = System.Drawing.Icon.FromHandle(shinfo.hIcon)
     ImageList1.Images.Add(sName2.name, myIcon)
     nIndex = nIndex + 1
     item1.ImageKey = sName2.name
     ListView1.Items.Add(item1)

Next

長くなってしまい、大変申し訳ありません。
何か、なおしたほうが良い点がありましたらご教授願います。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。