想写一段小程序.模仿WINDOWS的文件浏览功能.以大图标形式显示目录下的文件.
大家教教我.不一定非要写出代码来.可以指点我一下.提示一下用到哪些东西就可以了.
程序唯一输入的是一个目录.
我的思路是这样子:
1.根据目录把目录下文件搜索出来.(应该是用find(first/next)file,findclose这几个API)
2.在1的同时.用API(ExtractAssociatedIcon)把对应文件的文件名,对应文件的图标也记录下来.一一对应存放起来
3.将记录下来图标和文件名显示出来.就象WINDOWS的文件浏览那样.(排序问题基本可以无视,因为搜索过程其实就排序了.)
========================================
问题出来了.
1.API(ExtractAssociatedIcon)本身提取出来的不是一个文件,而是文件中的图标而已.那么如何把该图标和对应文件名暂时保存到IMAGELIST控件?(对于非可执行文件,还应该保存该文件的关联程序?)2.API(ExtractAssociatedIcon)的参数说明中lpIconPath: String,指定一个文件名,准备从该文件中提取图标。如果文件并非执行程序或DLL本身,但通过系统注册表与一个可执行文件关联,就用这个字串装载可执行程序的名字,是否指如果目标文件本身不是DLL或执行文件.
那么在调用这个API后,LPICONPATH这个参数中就包含了目标文件在系统中关联的程序?如果是的话,是否要再次调用这个API才能提取图标? 3.具体如何把IMAGELIST控件中保存的图标和文件名一个个显示到LISTVIEW控件中.4.显示出来以后.是否能够直接用双击来调用关联程序对非可执行文件进行操作?或还需要其他的方法(如通过调用API)来执行?还是这句话,大家教教我.不一定非要写出代码来.可以指点我一下.或者提示一下用到哪些东西就可以了.
小弟初学VB.手头没有足够的书面资料.MSDN都没.希望大家帮帮忙指点我一下.
谢谢.

解决方案 »

  1.   

    如果使用ImageList控件,这样会对你的内存是一个巨大的消耗建议到网上去搜索一下vbExplorer.zip
    下载看看老外是怎么写的
      

  2.   

    到现在为止米发现有正面回答问题地。
    TO jjkk168(老加班的人--好好学习,天天吃饭)
    首先感谢您对我的问题的回答.
    我本身是一个手头上只有少量的相关书籍的菜鸟+新手.连基本的MSDN都米.就得了一张VB6.0
    我问的问题本身您未做正面回答,给出了一个老外的例子让我去看.
    当然,看懂了以后可能举一反三写出更好的.
    但,这对于我提出问题的本意背道而驰,我是想请教如何去完成我的构思.而不是花大量时间去学着看明白一个连母语都和我不同的人,用他的思路去写出来的程序.
    您给出的例子不知道您自己是否看过.基本上,对于我来说,那个例子是一段天书.我浏览了一下就删除了.因为,其中涉及了一些我本身思路以外的东西.但对于我学习VB,或者说我目前的这个阶段.其实用处不大.只不过是从一个问题转到了另一个问题上面去.
    所以,基本上您的这个答案.只是起到了帮我顶一下帖子的作用.
    也许,换一个水平和我不同的人问这个问题的话.会很有用,但对我不是.
    期待更好的回答.
      

  3.   

    http://topic.csdn.net/t/20040429/10/3020237.html
    那你看看这个,只不过里面的链接都失效了
      

  4.   

    楼主给的分很少不过我给你说下吧
    关于获取图标可以先判断文件是不是WIN32 PE文件。如果是的话再判断是否有图标资源,如果有的话就可以获取了。其他你说的几条都是很基本的我看还是楼主自己解决下。