图标句柄转图片易语言源码
系统结构:Dll入口函数,GetFileIcon,GetEncoderClsid,GetStreamFromHIcon,Clsid2String,Guid2String,W2A,A2W,SHGetFileInfo,GdipGetImageEncodersSize,GdipGetImageEncoders,StringFromGUID2,GdiplusShutdown,GdiplusStartup,WideCharToMultiByte,MultiByteToWideChar,GetIconInfo,GetObjectA,GdipCreateBitmapFromHICON,GdipCreateBitmapFromHBITMAP,GdipGetImageHeight,GdipGetImageWidth,GdipBitmapLockBits,GdipGetImagePixelFormat,GdipCreateBitmapFromScan0,GdipBitmapUnlockBits,GdipSaveImageToFile,CLSIDFromString,DeleteObject,GdipSaveImageToStream,CallWindowProc,
======程序集1
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |------ Dll入口函数
| |
| |------ GetFileIcon
| |
| |------ GetEncoderClsid
| |
| |------ GetStreamFromHIcon
| |
| |------ Clsid2String
| |
| |------ Guid2String
| |
| |------ W2A
| |
| |------ A2W
| |
| |
======调用的Dll
| |
| |---[dll]------ SHGetFileInfo
| |
| |---[dll]------ GdipGetImageEncodersSize
| |
| |---[dll]------ GdipGetImageEncoders
| |
| |---[dll]------ StringFromGUID2
| |
| |---[dll]------ GdiplusShutdown
| |
| |---[dll]------ GdiplusStartup
| |
| |---[dll]------ WideCharToMultiByte
| |
| |---[dll]------ MultiByteToWideChar
| |
| |---[dll]------ GetIconInfo
| |
| |---[dll]------ GetObjectA
| |
| |---[dll]------ GdipCreateBitmapFromHICON
| |
| |---[dll]------ GdipCreateBitmapFromHBITMAP
| |
| |---[dll]------ GdipGetImageHeight
| |
| |---[dll]------ GdipGetImageWidth
| |
| |---[dll]------ GdipBitmapLockBits
| |
| |---[dll]------ GdipGetImagePixelFormat
| |
| |---[dll]------ GdipCreateBitmapFromScan0
| |
| |---[dll]------ GdipBitmapUnlockBits
| |
| |---[dll]------ GdipSaveImageToFile
| |
| |---[dll]------ CLSIDFromString
| |
| |---[dll]------ DeleteObject
| |
| |---[dll]------ GdipSaveImageToStream
| |
| |---[dll]------ CallWindowProc
调用的DLL命令:
.DLL命令 SHGetFileInfo, 整数型, "shell32.dll", "SHGetFileInfoA", , 获取工作台外壳文件夹界面
.参数 pszPath, 文本型
.参数 dwFileAttributes, 整数型
.参数 psfi, SHFILEINFO
.参数 cbFileInfo, 整数型
.参数 uFlags, 整数型
.DLL命令 GdipGetImageEncodersSize, 整数型, "gdiplus.dll", "GdipGetImageEncodersSize"
.参数 numEncoders, 整数型, 传址
.参数 size, 整数型, 传址
.DLL命令 GdipGetImageEncoders, 整数型, "gdiplus.dll", "GdipGetImageEncoders"
.参数 numEncoders, 整数型
.参数 size, 整数型
.参数 encoders, 字节集
.DLL命令 StringFromGUID2, 整数型, "ole32.dll", "StringFromGUID2"
.参数 rguid, 字节集
.参数 lpsz, 字节集
.参数 cchMax, 整数型, , 长度+1
.DLL命令 GdiplusShutdown, , "gdiplus.dll", "GdiplusShutdown"
.参数 token, 整数型
.DLL命令 GdiplusStartup, 整数型, "gdiplus.dll", "GdiplusStartup"
.参数 token, 整数型, 传址
.参数 inputbuf, GdiplusStartupInput
.参数 outputbuf, 整数型
.DLL命令 WideCharToMultiByte, 整数型, "kernel32", "WideCharToMultiByte", , 将通配符映像为多字节
.参数 代码页, 整数型, , cp_开头常量
.参数 标志, 整数型, , 512
.参数 宽字符文本, 整数型, , 字节集
.参数 宽字符文本长度, 整数型
.参数 双字节文本, 文本型, , 字节集
.参数 双字节文本长度, 整数型
.参数 默认文本, 整数型
.参数 使用默认文本, 整数型, , 逻辑
.DLL命令 MultiByteToWideChar, 整数型, "kernel32", "MultiByteToWideChar", , 将多媒体字符串映像为通配字符串
.参数 代码页, 整数型
.参数 标志, 整数型
.参数 双字节文本, 文本型
.参数 双字节文本长度, 整数型
.参数 宽字符文本, 字节集
.参数 宽字符文本长度, 整数型
.DLL命令 GetIconInfo, 整数型, "user32", "GetIconInfo", , 取得与图标有关的信息 非零表示成功,零表示失败。会设置GetLastError
.参数 hIcon, 整数型, , 图标句柄
.参数 piconinfo, ICONINFO, , ICONINFO,这个结构装载的信息与包含了XOR及AND位图的图标有关;
.DLL命令 GetObjectA, 整数型, "gdi32.dll", "GetObjectA", 公开, int WINAPI GetObject,If the function fails, the return value is zero,http://msdn.microsoft.com/en-us/library/dd144904%28VS.85%29.aspx
.参数 hgdiobj, 整数型, , __in HGDIOBJ hgdiobj,对象句柄
.参数 cbBuffer, 整数型, , __in int cbBuffer,数据尺寸
.参数 lpvObject, BITMAP, 传址, __out LPVOID lpvObject,
.DLL命令 GdipCreateBitmapFromHICON, 整数型, "gdiplus", "GdipCreateBitmapFromHICON"
.参数 hicon, 整数型
.参数 bitmap, 整数型, 传址
.DLL命令 GdipCreateBitmapFromHBITMAP, 整数型, "gdiplus", "GdipCreateBitmapFromHBITMAP"
.参数 hbm, 整数型
.参数 hpal, 整数型
.参数 bitmap, 整数型, 传址
.DLL命令 GdipGetImageHeight, 整数型, "gdiplus", "GdipGetImageHeight"
.参数 Image, 整数型
.参数 Height, 整数型, 传址
.DLL命令 GdipGetImageWidth, 整数型, "gdiplus", "GdipGetImageWidth"
.参数 Image, 整数型
.参数 Width, 整数型, 传址
.DLL命令 GdipBitmapLockBits, 整数型, "gdiplus", "GdipBitmapLockBits"
.参数 bitmap, 整数型
.参数 rect, Rect
.参数 flags, 整数型
.参数 PixelFormat, 整数型
.参数 lockedBitmapData, BitmapData
.DLL命令 GdipGetImagePixelFormat, 整数型, "gdiplus", "GdipGetImagePixelFormat"
.参数 Image, 整数型
.参数 PixelFormat, 整数型, 传址
.DLL命令 GdipCreateBitmapFromScan0, 整数型, "gdiplus", "GdipCreateBitmapFromScan0"
.参数 Width, 整数型
.参数 Height, 整数型
.参数 stride, 整数型
.参数 PixelFormat, 整数型
.参数 scan0, 整数型
.参数 bitmap, 整数型, 传址
.DLL命令 GdipBitmapUnlockBits, 整数型, "gdiplus", "GdipBitmapUnlockBits"
.参数 bitmap, 整数型
.参数 lockedBitmapData, BitmapData
.DLL命令 GdipSaveImageToFile, 整数型, "gdiplus", "GdipSaveImageToFile"
.参数 Image, 整数型
.参数 filename, 字节集
.参数 clsidEncoder, 字节集
.参数 encoderParams, 整数型
.DLL命令 CLSIDFromString, , "ole32.dll", "CLSIDFromString"
.参数 lpsz, 字节集
.参数 pclsid, 字节集, 传址
.DLL命令 DeleteObject, 整数型, "gdi32", "DeleteObject", , 用这个函数删除GDI对象,比如画笔、刷子、字体、位图、区域以及调色板等等。对象使用的所有系统资源都会被释放 非零表示成功,零表示失败
.参数 hObject, 整数型, , 一个GDI对象的句柄;
.DLL命令 GdipSaveImageToStream, 整数型, "GdiPlus.dll", "GdipSaveImageToStream"
.参数 image, 整数型
.参数 stream, 整数型
.参数 clsidEncoder, 字节集
.参数 encoderParams, 整数型
.DLL命令 CallWindowProc, 整数型, "user32", "CallWindowProcA", , 将消息传答窗口函数
.参数 lpPrevWndFunc, 字节集
.参数 hwnd, 整数型
.参数 msg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。