liguang的不菜的问题(100分)

  • 主题发起人 主题发起人 liguang
  • 开始时间 开始时间
L

liguang

Unregistered / Unconfirmed
GUEST, unregistred user!
问题是这样的,项目主管给了一个任务,其中有一项是这样,使用程序打开一个文件夹,并且使
文件夹内一个指定的文件被选择,我自己试了一下,发现微软的文件夹显示窗口中所使用的
ListView好象是一个基于ActiveX的控件.使用通用的ListViewAPI无法访问,所以特请各位
大侠帮忙,指点小弟一二,小弟在此谢过了.
 
要用到外壳接口,用IShelldispatch比较简单,你去msdn查一下吧。
delphi写很easy
 
liguang,我又看了一下,才发现ishellfolderview接口是没用的,
剩下可能的一种方法是通过ishellfolder获得ishellview的接口,然后调用
ishellview.selectitem方法来选择item,but我还没搞明白:((
 
用RxLib的TFilenameEdit控件,在其属性:FileName中指定你要被选择的文件,
当执行时就一切OK啦。
我真偷懒。
 
>>ListView好象是一个基于ActiveX的控件.使用通用的ListViewAPI无法访问

可以使用它的Handle进行访问呀!
ListView_DeleteAllItems(listview.handle);
ListView_SetBkColor(listview.handle,189089044);
等等。
 
温大侠能否给一个例子,我愿意再加50分.OK?
 
不知道你说的例子指什么?这个不行吗?
Program Files/Borland/Delphi5/Demos/Virtual Listview
 
不是吧.我指的是一个现成的文件夹窗口,然后我如何去控制它来实现这种功能.温大侠明白.
 
windows通用的打开文件窗口?
 
我觉得你原来的问题确实没说清楚:
>>发现微软的文件夹显示窗口中所使用的ListView好象是一个基于ActiveX的控件.使用通用的ListViewAPI无法访问
主要是这句话把我搞糊涂了,以为是你自己用listview,看来我的理解能力也比较差 :-(

不过我的Delphi功夫可是一流(不要乱扔东西哟!) :-)

var
wnd:HWND;
begin
Wnd := FindWindow(nil,'D:/Program Files/Borland/Delphi5')
//你打开的文件夹Title(路径)
Wnd := FindWindowEx(Wnd, 0, 'SHELLDLL_DefView', nil);
Wnd := FindWindowEx(Wnd, 0, 'SysListView32', nil);
//对这个wnd就可以使用ListViewAPI了
end;
 
其实我的任务是找到一个存在文件的ITEM,并选择它(向鼠标点击了一样).可是我试了一下,
还是不行.请温大侠教我.小弟将感激不尽.
 
你先看一下ID=205870,注意listview_finditem和listview_setitem,
试验后把结果告诉我。
 
附加功能 将问题提前
 
兔子,记得自己提前问题哦!
 
http://www.delphibbs.com/Delphibbs/DispQ.asp?LID=205870
cAkk以前提过这个问题,Pipi给出了答案,估计就是你想要的。
 
请继续或结束
 
多人接受答案了。
 
那怎么才能打开exe文件呢?
 
后退
顶部