zoukankan      html  css  js  c++  java
  • win32 又一个经典爽歪歪的api,太强大了SHGetFileInfo

    今天突发奇想在将来学会(从事)桌面软件的设计,因为在windows下桌面的快捷便利性是很受到众多网友们的爱戴的,而且一款好的桌面软件能给常年工作于计算机的友友们带来不可忽略的效率,甚至可以赏心悦目,让大家都爱不释手的。如果软件很臃肿,除非很多的用户对其有特别的依赖性,不然它很快会被大众埋没。

    不废话了,直接如题。

    SHGetFileInfo是一个非常实用的api。

    DWORD_PTR SHGetFileInfo(      
        LPCTSTR pszPath,     DWORD dwFileAttributes,     SHFILEINFO *psfi,     UINT cbFileInfo,     UINT uFlags );
    参数一是文件的路径
    不解释
    三是结构名为SHFILEINFO的地址,这个其实window来维护的,我们不用填写。
    四是SHFILEINFO的大小(简单)。
    五很重要,具体要看msdn
    ps:当获取icon的时候要注明是large还是small,当然默认的icon是大的,如果是笑的一定要注明啊,不能直接large和small,这个没有效果。
    SFI_LARGEICON(SFI_SMALLICON)已经注明了是SFI_ICON的修饰值了,也就是说SFI_LARGEICON(SFI_SMALLICON)是不能单独出现的。
    具体可以看一下在VC下实现的代码:
        \\mfc实现(太棒了)
    SHFILEINFO fileinfo;
    ::ZeroMemory(&fileinfo,sizeof(fileinfo));
    ::SHGetFileInfo(TEXT(
    "C:\\Documents and Settings\\Administrator\\桌面\\Dbgview.exe"),
    0,&fileinfo,sizeof(fileinfo),SHGFI_ICON);
    hIcon = fileinfo.hIcon;
    CDC * dc = this->GetDC();
    dc->DrawIcon(0,0,hIcon);


  • 相关阅读:
    hadoop学习--搜索引擎面临的数据和计算难题
    解析excel
    sql批量入库
    tomcat-nginx配置
    友链
    Vue+ElementUI搭建一个后台管理框架
    OnePill本地保存用户的结构
    Android集成JPush(极光推送)
    Android三种风格的底部导航栏
    Android实现EditText插入表情、超链接等格式
  • 原文地址:https://www.cnblogs.com/daoluanxiaozi/p/2228950.html
Copyright © 2011-2022 走看看