图标的实质是什么?

来源:百度知道 编辑:UC知道 时间:2024/06/08 05:04:29
编程的问题,最近刚刚学了C++,正在象vindows程序过度阶段,掌握一般的VB,现在要问的是桌面上的图标,或者我的电脑,里面的每个驱动器的图标,它们到底是什么?是一个窗口吗?我要取得他们的标题,在VB中如何调用API函数?
多谢 samsonxu
我现在的需要是能取得桌面或者某窗口浏览到的图标的标题,所以VB自身无法实现的。我需要取得活动窗口的标题,文本,图标的文本,菜单的标题等等。我知道vb实现起来比较麻烦,可是目前能力所及只能调用API,学习VC不是一天的事情啊。
如果取桌面的图标标题是先枚举所有子窗口吗,然后取标题,还是其他思路,现在对win了解太少了。

Windows的窗口程序要么就是窗口,要么就是控件,从本质来说,你在桌面或者Explorer上看到的图标均是Explorer的窗口上绘制出来的一个区域而已。它很有可能是通直接在其子窗体直接绘制的,因此,你并没有办法直接抓取到这些信息(试想你直接从图片文件里获取文字信息)。但是,你可以抓取窗口的句柄,并以此获得它所有控件。至于具体如何做,并不是一两句话能说明,但你可以在MSDN找到任何你想要的东西,用好它将是非常重要的。

如果你只是需要获得每个驱动器的信息,VB的Drive控件能帮助你轻松完成这个功能。另外Dir()函数可以帮助你枚举目录信息。不可否认,API是更为通用的方法,但VB的特性决定了用VB的一般方法不是引用API,而是使用它现成的控件帮助你快速方便的完成开发。了解VB的特性对初学VB比较重要。

如果你需要获得在浏览器中正在浏览的信息,就麻烦一些,不过Explorer提供了钩子接口(Hook)和外壳扩展(Shell Extend),可以帮助你实现你所需要的功能。但是,如果你没有Windows编程的基础,这些显然不是一两天能完全弄明白的。

图标就是一张图片,你可以用专门的软件来提取图标给自己用,也可以到网上下载图标库