功能类似: 提取资源文件图标 (, , , )
但是貌似这个函数不能黑月编译?不知道,反正我试了不行
获取的文件是icon结构的
利用了这个api
SHGetFileInfo
来获取文件的图标,不只是exe文件,任何文件的图标都能获得,甚至文件夹
功能等效于精易模块的文件_取图标 (, , , , )
但是代码量更少,所以更快。
默认大小是32*32可以自己试着改
变量名 | 类 型 | 静态 | 数组 | 备 注 | hIco | 整数型 | | | img | 字节集 | | | 场景句柄1 | 整数型 | | | 位图句柄1 | 整数型 | | | 位图数据 | 字节集 | | | 屏幕设备句柄 | 整数型 | | | 位图句柄 | 整数型 | | | 场景句柄 | 整数型 | | | 位图指针 | 整数型 | | | 旧位图句柄 | 整数型 | | | 数组 | 整数型 | | | sInfo | 整数型 | | 1 | CoInitialize (0 )SHGetFileInfo (文件路径, 128, sInfo, 0, 256 )hIco = sInfo [1 ]CoUninitialize ()屏幕设备句柄 = GetDC (0 )场景句柄1 = CreateCompatibleDC (屏幕设备句柄 )位图句柄1 = CreateCompatibleBitmap (屏幕设备句柄, 32, 32 )SelectObject (场景句柄1, 位图句柄1 )DrawIconEx (场景句柄1, 0, 0, hIco, 32, 32, 0, 0, 3 )位图数据 = { 40, 0, 0, 0, 32, 0, 0, 0, 32, 0, 0, 0, 1, 0, 32 } + 取空白字节集 (4121 )场景句柄 = CreateCompatibleDC (场景句柄1 )位图句柄 = CreateDIBSection1 (场景句柄, 位图数据, 0, 位图指针, 0, 0 )旧位图句柄 = SelectObject (场景句柄, 位图句柄 )BitBlt (场景句柄, 0, 0, 32, 32, 场景句柄1, 0, 0, 13369376 )RtlMoveMemory (lstrcpynA (位图数据, 位图数据, 0 ) + 40, 位图指针, 4096 )ReleaseDC (0, 屏幕设备句柄 )DeleteDC (场景句柄1 )DeleteDC (场景句柄 )DeleteObject (旧位图句柄 )DeleteObject (位图句柄1 )DeleteObject (位图句柄 )img = { 0, 0, 1, 0, 1, 0, 32, 32, 0, 0, 1, 0, 32, 0, 168, 16, 0, 0, 22, 0, 0, 0, 40, 0, 0, 0, 32, 0, 0, 0, 64, 0, 0, 0, 1, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 14, 0, 0, 196, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } + 取字节集右边 (位图数据, 4096 ) + 取空白字节集 (128 )返回 (img )|
SHGetFileInfo | 整数型 | | |
| |
SHGetFileInfo | |
pszPath | 文本型 | | | dwFileAttributes | 整数型 | | | psfi | 整数型 | | | cbFileInfo | 整数型 | | | uFlags | 整数型 | | |
|
lstrcpynA | 整数型 | | |
kernel32 | |
lstrcpynA | |
lpString1 | 字节集 | | | lpString2 | 字节集 | | | iMaxLength | 整数型 | | |
获取文件图标.e
(140.26 KB, 下载次数: 110)
|