HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0513
口々ソフト内でExplorer的な3解決


口々

リンク

2015/5/13(Wed) 17:48:11|NO.69166

ソフト内でExplorerみたいなものを使っているのをよく見ます。
このExplorerみたいなのはどうしたらできるでしょうか。



この記事に返信する


kanamaru

リンク

2015/5/13(Wed) 18:17:25|NO.69168

詳しくはわかりませんが、
windows shellってのがあったはず。
そこらへんを使っているのでは?
あとは、独自実装とか?



通りすがり

リンク

2015/5/13(Wed) 18:21:47|NO.69169

どうぞ

#module #uselib "kernel32.dll" #cfunc FindFirstFile "FindFirstFileA" var,var #func FindClose "FindClose" int #func FileTimeToLocalFileTime "FileTimeToLocalFileTime" var,var #func FileTimeToSystemTime "FileTimeToSystemTime" var,var #deffunc getstamp array prm1,str prm2,int prm3 mref ref,65 sdim dir,260 : dim fd,80 : dim st,8 dir = prm2 : if dir=="" : dir=exedir nMode = prm3 : if (nMode<=0)|(nMode>2) : nMode=0 hFind=FindFirstFile(dir,fd) : if hFind=-1 : return -1 ref=dir exist dir : fsize=strsize FindClose hFind if nMode==0 : ft=fd(1),fd(2) if nMode==1 : ft=fd(3),fd(4) if nMode==2 : ft=fd(5),fd(6) FileTimeToLocalFileTime ft,ft FileTimeToSystemTime ft,st n=0 repeat 6 if cnt==2 : n+2 s(cnt)=wpeek(st,n) : n+2 prm1(cnt)=s(cnt) loop ret =str(s(0))+"/"+strf("%02d",s(1))+"/"+strf("%02d",s(2))+" " ret+=strf("%02d",s(3))+":"+strf("%02d",s(4))+":"+strf("%02d",s(5)) ref = ret : sdim dir,0 : dim fd,0 : dim st,0 return fsize #global #define LVM_INSERTITEM $1007 #define LVM_INSERTCOLUMN $101B #define LVM_SETEXTENDEDLISTVIEWSTYLE $1036 #include "user32.as" title dirinfo(0x10000)//デスクトップのディレクトリ pos 0,0:winobj "SysListView32","",$200,$50000001,ginfo(12),ginfo(13) hListview = objinfo(stat, 2) sendmsg hListview, LVM_SETEXTENDEDLISTVIEWSTYLE, , $20 szText = "作成日時" LVCOLUMN = $F, 0 ,200, varptr(szText), 0 , 2 sendmsg hListview, LVM_INSERTCOLUMN, 0, varptr(LVCOLUMN) szText = "種類" LVCOLUMN = $F, 0 ,100, varptr(szText), 0 , 1 sendmsg hListview, LVM_INSERTCOLUMN, 0, varptr(LVCOLUMN) szText = "名前" LVCOLUMN = $F, 0 ,ginfo(12)-321, varptr(szText), 0 , 0 sendmsg hListview, LVM_INSERTCOLUMN, 0, varptr(LVCOLUMN) sdim listbox_text listf="" dirlist listftt,dirinfo(0x10000)+"\\*.*",1//デスクトップのディレクトリ notesel listftt repeat noteinfo(0) noteget listft,cnt//指定行のファイル取得 filee=getpath(listft,2+16)//拡張子取得 filee=strmid(filee,1,3)//拡張子の"."を取り除く CharUpper varptr(filee)//小文字から大文字に変換 pszText = getpath(listft,8) LVITEM = 1, 0 , 0 , 0 , 0 , varptr(pszText) sendmsg hListview, LVM_INSERTITEM, 0 , varptr(LVITEM)//追加 pszText = filee+"ファイル" LVITEM = 1, 0 , 1 , 0 , 0 , varptr(pszText) sendmsg hListview, $1006, 0 , varptr(LVITEM)//追加 getstamp n,dirinfo(0x10000)+"\\"+listft,0//作成日時を取得 pszText = ""+refstr LVITEM = 1, 0 , 2 , 0 , 0 , varptr(pszText) sendmsg hListview, $1006, 0 , varptr(LVITEM)//追加 loop sdim listbox_text listf="" dirlist listftt,dirinfo(0x10000)+"\\*.*",5 notesel listftt repeat noteinfo(0) noteget listft,cnt//指定行のファイル取得 pszText = getpath(listft,8) LVITEM = 1, 0 , 0 , 0 , 0 , varptr(pszText) sendmsg hListview, LVM_INSERTITEM, 0 , varptr(LVITEM)//追加 pszText = "フォルダ" LVITEM = 1, 0 , 1 , 0 , 0 , varptr(pszText) sendmsg hListview, $1006, 0 , varptr(LVITEM)//追加 getstamp n,dirinfo(0x10000)+"\\"+listft,0//作成日時を取得 pszText = ""+refstr LVITEM = 1, 0 , 2 , 0 , 0 , varptr(pszText) sendmsg hListview, $1006, 0 , varptr(LVITEM)//追加 loop stop



口々

リンク

2015/5/13(Wed) 18:39:34|NO.69173

回答ありがとうございます。
>kanamaruさん
 通りすがり さんの回答を見たところ、WIN32API?が関係ありそうです。
>通りすがりさん
 無事動きました。ありがとうございます。
 



ONION software Copyright 1997-2023(c) All rights reserved.