インターネット ショートカットと、フォルダを表示させようとしたのですが、
過去ログを見てもうまくできないので、質問させていただきます。
コード: 全て選択
Declare Function SHGetSpecialFolderPath Lib "shell32.dll" Alias "SHGetSpecialFolderPathA" (hwndOwner As Long,lpszPath As String,nFolder As Long,fCreate As Long) As Long
Const CSIDL_FAVORITIES=&H6
Sub SetMsgText_To_ListView(lpszText As BytePtr, ParamNum As Long)
Dim lvFind As LVFINDINFO
Dim lvItem As LVITEM
Dim nIndex As Long
'ParamNumを元に、先頭からのインデックス番号を取得
lvFind.flags=LVFI_PARAM
lvFind.lParam=ParamNum
nIndex=SendDlgItemMessage(hMainWnd,ListView1,LVM_FINDITEM,-1,VarPtr(lvFind))
'リストビューの「Favorite」欄を設定
dim Favorite as long
do
Dim ListViewNum As Long
Dim buffer As String
buffer=String$(255,Chr$(0))
SHGetSpecialFolderPath(GetDesktopWindow(),buffer,&H6,FALSE)
'お気に入りのフォルダの中を検索
dim Find as WIN32_FIND_DATA
dim hFind as DWord
Dim lvItem As LVITEM
hFind=FindFirstFile(buffer+"\*.",Find)
lvItem.mask=LVIF_TEXT or LVIF_PARAM
lvItem.pszText=Find.cFileName
lvItem.iItem=0
lvItem.iSubItem=0
lvItem.lParam=ListViewNum
SendDlgItemMessage(hMainWnd,ListView1,LVM_SETITEM,0,VarPtr(lvItem))
Loop while FindNextFile(hFind, Find)
FindClose(hFind)
End Sub
Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT)
SendDlgItemMessage(hMainWnd,ListView1,LVM_SETEXTENDEDLISTVIEWSTYLE,0,LVS_EX_FULLROWSELECT)
'----------------------------
' リストビューのカラムを設定
'----------------------------
Dim lc As LVCOLUMN
lc.mask=LVCF_FMT or LVCF_WIDTH or LVCF_TEXT or LVCF_SUBITEM
lc.fmt=LVCFMT_LEFT
lc.cx=196
lc.pszText="Favorite"
lc.iSubItem=0
SendDlgItemMessage(hMainWnd,ListView1,LVM_INSERTCOLUMN,0,VarPtr(lc))
End Sub
これをどうすればちゃんとなるのか、教えて下さい。