易语言载入DLL主程序源码
系统结构:载入主程序,置目录,鼠标被移动,重绘,画项目,列表_鼠标移动,创建,重定义_文本,重定义_图片,取窗口句柄,取父窗口句柄,取现行项目,取项目数,取焦点位置,取热点位置,取高亮位置,取背景颜色,获取焦点,列表滚动,取列表范围,置回调事件,置底图数据,置文本数量,置图片数量,置文本数据,置图片数据,置图片数据_点亮,取文本大小,取文本内容,置顶部划痕,清除列表,插入项目,插入组项,置分组图片信息or范围,关闭组项,打开组项,内部_删除项目,内部_加入项目,删除项目,清空组项,删除组项,大量插入_开始,大量插入_结束,大量删除_开始,大量删除_结束,取项目所在分组,置附加状态,取分组个数,取分组在项目位置,是否图片点亮,重新定义高度,窗口置顶,图片载入_自字节集,图片载入_自文件,删除图片信息,图片修改_自字节集,图片修改_自文件,置焦点,置高亮,自定义高度,置边框数据,清除项目,销毁,置列表范围,强制重画,置画项目回调,置画高CPU移动回调,置左键释放回调,辅_生成_类回调_易,get_retn_code,辅_取字节集长度,DumpCode,到字节集_从字节,取_类_函数地址,到字节集_从短整数_,取变量地址_短整数,取指针内容_整数,到字节集_从整数_,取变量地址_整数,辅_字节集到子程序地址,到子程序指针_从数值,取变量地址_字节集,取上层函数首参,动态执行子程序,创建位图,创建图形_自图像,图形_画图像,创建图形_自句柄,创建纯色刷子,创建渐变刷子,图形_填充矩形,图形_画图片,创建字体,画文本,RGB到ARGB,渐变画刷_变色,创建画笔,文本到字节集,列表底图,销毁图像,销毁图形,销毁纯色刷子,销毁画笔,销毁字体,图形_画矩形,点亮底图,取高位,取低位,点是否在矩形内,创建矩形,图形_描边圆角矩形,窗口圆角化,取位图,rect到自建矩形,UTF8编码到ANSI,自建矩形到rect,创建,释放,取尺寸,取字节流指针,取内存句柄,置字节流指针,取出字节集,还原,初始化,调用旧窗口过程,GetModuleHandle,CreateWindowEx,SendMessage,BringWindowToTop,RtlMoveMemory_I2D,GetWindowRect,SendMessage_RECT,CopyToPtr_FromEBin,TrackMouseEvent,SetFocus,WindowFromPoint,SetWindowLong,SetBkMode,TransparentBlt,SelectObject,CreatePen,ReleaseDC,RoundRect,DeleteObject,GlobalAlloc,GlobalLock,GlobalUnlock,CreateStreamOnHGlobal,GlobalFree,GlobalSize,lstrlenw,lstrcpyn,GetObjectA,CreateCompatibleDC,BitBlt,DeleteDC,GdipCreateLineBrush,GdipFillRectangle,GdipLoadImageFromStream,GdipDrawImage,GdipDrawImageRectRect,GdipGetImageHeight,GdipGetImageWidth,WriteProcessMemory,GetCurrentProcess,lstrcpyn_字节集,CallWindowProc,GetHGlobalFromStream,GdipSetLineColors,GdipDrawRectangle,CreateCompatibleBitmap,WindowFromDC,InvalidateRect,GdipDisposeImage,GdipDeleteGraphics,GdipDeleteBrush,GdipDeletePen,GdipDeleteFont,GdiplusStartup,GdipCreateBitmapFromScan0,GdipGetImageGraphicsContext,GdipCreateFromHWND,GdipCreateSolidFill,GdipCreateFontFamilyFromName,GdipDrawString,GdipCreateFont,GdipDeleteFontFamily,GdipCreatePen1,MultiByteToWideChar,SetWindowLongA,CallWindowProcA,GdiplusShutdown,Rectangle,GetStockObject,CreateRoundRectRgn,SetWindowRgn,CombineRgn,CreateRectRgn,CreateSolidBrush,复制内存_复制位图信息头到字节集,复制内存_复制位图文件头到字节集,复制内存_字节集到字节集,MultiByteToWideChar_utf_8,GdiTransparentBlt,GetDC,SetLayeredWindowAttributes,LoadIcon,WideCharToMultiByte,LoadCursor,GdipSetTextRenderingHint,GetWindowLong,DispatchMessage,TranslateMessage,RegisterClassEx,GetMessage,PostQuitMessage,DefWindowProc,GetDriverModuleHandle,ShowWindow,EndPaint,BeginPaint,GdipCreateFromHDC,GetParent,ScreenToClient,TextOut,GdipCreateBitmapFromGraphics,GdipCreateBitmapFromGdiDib,GdipAddPathArc,GdipCreatePath,GdipClosePathFigure,GdipFillPath,GdipDeletePath,UpdateWindow,
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |
======调用的Dll
| |
| |---[dll]------ 载入主程序
| |
| |---[dll]------ 置目录
======程序集1
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |
======随心所欲_列表
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ _父窗口_消息处理
| |
| |------ _列表框_消息处理
| |
| |------ 鼠标被移动
| |
| |------ 重绘
| |
| |------ 画项目
| |
| |------ 列表_鼠标移动
| |
| |------ 创建
| |
| |------ 重定义_文本
| |
| |------ 重定义_图片
| |
| |------ 取窗口句柄
| |
| |------ 取父窗口句柄
| |
| |------ 取现行项目
| |
| |------ 取项目数
| |
| |------ 取焦点位置
| |
| |------ 取热点位置
| |
| |------ 取高亮位置
| |
| |------ 取背景颜色
| |
| |------ 获取焦点
| |
| |------ 列表滚动
| |
| |------ 取列表范围
| |
| |------ 置回调事件
| |
| |------ 置底图数据
| |
| |------ 置文本数量
| |
| |------ 置图片数量
| |
| |------ 置文本数据
| |
| |------ 置图片数据
| |
| |------ 置图片数据_点亮
| |
| |------ 取文本大小
| |
| |------ 取文本内容
| |
| |------ 置顶部划痕
| |
| |------ 清除列表
| |
| |------ 插入项目
| |
| |------ 插入组项
| |
| |------ 置分组图片信息or范围
| |
| |------ 关闭组项
| |
| |------ 打开组项
| |
| |------ 内部_删除项目
| |
| |------ 内部_加入项目
| |
| |------ 删除项目
| |
| |------ 清空组项
| |
| |------ 删除组项
| |
| |------ 大量插入_开始
| |
| |------ 大量插入_结束
| |
| |------ 大量删除_开始
| |
| |------ 大量删除_结束
| |
| |------ 取项目所在分组
| |
| |------ 置附加状态
| |
| |------ 取分组个数
| |
| |------ 取分组在项目位置
| |
| |------ 是否图片点亮
| |
| |------ 重新定义高度
| |
| |------ 窗口置顶
| |
| |------ 图片载入_自字节集
| |
| |------ 图片载入_自文件
| |
| |------ 删除图片信息
| |
| |------ 图片修改_自字节集
| |
| |------ 图片修改_自文件
| |
| |------ 置焦点
| |
| |------ 置高亮
| |
| |------ 自定义高度
| |
| |------ 置边框数据
| |
| |------ 清除项目
| |
| |------ 销毁
| |
| |------ 置列表范围
| |
| |------ 强制重画
| |
| |------ 置画项目回调
| |
| |------ 置画高CPU移动回调
| |
| |------ 置左键释放回调
| |
| |
======程序集2
| |
| |------ 辅_生成_类回调_易
| |
| |------ get_retn_code
| |
| |------ 辅_取字节集长度
| |
| |------ DumpCode
| |
| |------ 到字节集_从字节
| |
| |------ 取_类_函数地址
| |
| |------ 到字节集_从短整数_
| |
| |------ 取变量地址_短整数
| |
| |------ 取指针内容_整数
| |
| |------ 到字节集_从整数_
| |
| |------ 取变量地址_整数
| |
| |------ 辅_字节集到子程序地址
| |
| |------ 到子程序指针_从数值
| |
| |------ 取变量地址_字节集
| |
| |------ 取上层函数首参
| |
| |------ 动态执行子程序
| |
| |
======绘图方法
| |
| |------ 创建位图
| |
| |------ 创建图形_自图像
| |
| |------ 图形_画图像
| |
| |------ 创建图形_自句柄
| |
| |------ 创建纯色刷子
| |
| |------ 创建渐变刷子
| |
| |------ 图形_填充矩形
| |
| |------ 图形_画图片
| |
| |------ 创建字体
| |
| |------ 画文本
| |
| |------ RGB到ARGB
| |
| |------ 渐变画刷_变色
| |
| |------ 创建画笔
| |
| |------ 文本到字节集
| |
| |------ 列表底图
| |
| |------ 销毁图像
| |
| |------ 销毁图形
| |
| |------ 销毁纯色刷子
| |
| |------ 销毁画笔
| |
| |------ 销毁字体
| |
| |------ 图形_画矩形
| |
| |------ 点亮底图
| |
| |------ 取高位
| |
| |------ 取低位
| |
| |------ 点是否在矩形内
| |
| |------ 创建矩形
| |
| |------ 图形_描边圆角矩形
| |
| |------ 窗口圆角化
| |
| |------ 取位图
| |
| |------ rect到自建矩形
| |
| |------ UTF8编码到ANSI
| |
| |------ 自建矩形到rect
| |
| |
======字节流
| |
| |------ _销毁
| |
| |------ 创建
| |
| |------ 释放
| |
| |------ 取尺寸
| |
| |------ 取字节流指针
| |
| |------ 取内存句柄
| |
| |------ 置字节流指针
| |
| |------ 取出字节集
| |
| |
======子类化
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 还原
| |
| |------ 初始化
| |
| |------ 调用旧窗口过程
| |
| |
======调用的Dll
| |
| |---[dll]------ GetModuleHandle
| |
| |---[dll]------ CreateWindowEx
| |
| |---[dll]------ SendMessage
| |
| |---[dll]------ BringWindowToTop
| |
| |---[dll]------ RtlMoveMemory_I2D
| |
| |---[dll]------ GetWindowRect
| |
| |---[dll]------ SendMessage_RECT
| |
| |---[dll]------ CopyToPtr_FromEBin
| |
| |---[dll]------ _VirtualAlloc
| |
| |---[dll]------ TrackMouseEvent
| |
| |---[dll]------ SetFocus
| |
| |---[dll]------ WindowFromPoint
| |
| |---[dll]------ SetWindowLong
| |
| |---[dll]------ SetBkMode
| |
| |---[dll]------ TransparentBlt
| |
| |---[dll]------ SelectObject
| |
| |---[dll]------ CreatePen
| |
| |---[dll]------ ReleaseDC
| |
| |---[dll]------ RoundRect
| |
| |---[dll]------ DeleteObject
| |
| |---[dll]------ GlobalAlloc
| |
| |---[dll]------ GlobalLock
| |
| |---[dll]------ GlobalUnlock
| |
| |---[dll]------ CreateStreamOnHGlobal
| |
| |---[dll]------ GlobalFree
| |
| |---[dll]------ GlobalSize
| |
| |---[dll]------ lstrlenw
| |
| |---[dll]------ lstrcpyn
| |
| |---[dll]------ GetObjectA
| |
| |---[dll]------ CreateCompatibleDC
| |
| |---[dll]------ BitBlt
| |
| |---[dll]------ DeleteDC
| |
| |---[dll]------ GdipCreateLineBrush
| |
| |---[dll]------ GdipFillRectangle
| |
| |---[dll]------ GdipLoadImageFromStream
| |
| |---[dll]------ GdipDrawImage
| |
| |---[dll]------ GdipDrawImageRectRect
| |
| |---[dll]------ GdipGetImageHeight
| |
| |---[dll]------ GdipGetImageWidth
| |
| |---[dll]------ WriteProcessMemory
| |
| |---[dll]------ GetCurrentProcess
| |
| |---[dll]------ lstrcpyn_字节集
| |
| |---[dll]------ CallWindowProc
| |
| |---[dll]------ GetHGlobalFromStream
| |
| |---[dll]------ GdipSetLineColors
| |
| |---[dll]------ GdipDrawRectangle
| |
| |---[dll]------ CreateCompatibleBitmap
| |
| |---[dll]------ WindowFromDC
| |
| |---[dll]------ InvalidateRect
| |
| |---[dll]------ GdipDisposeImage
| |
| |---[dll]------ GdipDeleteGraphics
| |
| |---[dll]------ GdipDeleteBrush
| |
| |---[dll]------ GdipDeletePen
| |
| |---[dll]------ GdipDeleteFont
| |
| |---[dll]------ GdiplusStartup
| |
| |---[dll]------ GdipCreateBitmapFromScan0
| |
| |---[dll]------ GdipGetImageGraphicsContext
| |
| |---[dll]------ GdipCreateFromHWND
| |
| |---[dll]------ GdipCreateSolidFill
| |
| |---[dll]------ GdipCreateFontFamilyFromName
| |
| |---[dll]------ GdipDrawString
| |
| |---[dll]------ GdipCreateFont
| |
| |---[dll]------ GdipDeleteFontFamily
| |
| |---[dll]------ GdipCreatePen1
| |
| |---[dll]------ MultiByteToWideChar
| |
| |---[dll]------ SetWindowLongA
| |
| |---[dll]------ CallWindowProcA
| |
| |---[dll]------ GdiplusShutdown
| |
| |---[dll]------ Rectangle
| |
| |---[dll]------ GetStockObject
| |
| |---[dll]------ CreateRoundRectRgn
| |
| |---[dll]------ SetWindowRgn
| |
| |---[dll]------ CombineRgn
| |
| |---[dll]------ CreateRectRgn
| |
| |---[dll]------ CreateSolidBrush
| |
| |---[dll]------ 复制内存_复制位图信息头到字节集
| |
| |---[dll]------ 复制内存_复制位图文件头到字节集
| |
| |---[dll]------ 复制内存_字节集到字节集
| |
| |---[dll]------ MultiByteToWideChar_utf_8
| |
| |---[dll]------ GdiTransparentBlt
| |
| |---[dll]------ GetDC
| |
| |---[dll]------ SetLayeredWindowAttributes
| |
| |---[dll]------ LoadIcon
| |
| |---[dll]------ WideCharToMultiByte
| |
| |---[dll]------ LoadCursor
| |
| |---[dll]------ GdipSetTextRenderingHint
| |
| |---[dll]------ GetWindowLong
| |
| |---[dll]------ DispatchMessage
| |
| |---[dll]------ TranslateMessage
| |
| |---[dll]------ RegisterClassEx
| |
| |---[dll]------ GetMessage
| |
| |---[dll]------ PostQuitMessage
| |
| |---[dll]------ DefWindowProc
| |
| |---[dll]------ GetDriverModuleHandle
| |
| |---[dll]------ ShowWindow
| |
| |---[dll]------ EndPaint
| |
| |---[dll]------ BeginPaint
| |
| |---[dll]------ GdipCreateFromHDC
| |
| |---[dll]------ GetParent
| |
| |---[dll]------ ScreenToClient
| |
| |---[dll]------ TextOut
| |
| |---[dll]------ GdipCreateBitmapFromGraphics
| |
| |---[dll]------ GdipCreateBitmapFromGdiDib
| |
| |---[dll]------ GdipAddPathArc
| |
| |---[dll]------ GdipCreatePath
| |
| |---[dll]------ GdipClosePathFigure
| |
| |---[dll]------ GdipFillPath
| |
| |---[dll]------ GdipDeletePath
| |
| |---[dll]------ UpdateWindow
调用的DLL命令:
.DLL命令 载入主程序, , "ylcx.dll", "zairu"
.DLL命令 置目录, , "ylcx.dll", "mulu"
.参数 m, 文本型
调用的DLL命令:
.DLL命令 GetModuleHandle, 整数型, "kernel32", "GetModuleHandleA", 公开, 获取一个应用程序或动态链接库的模块句柄
.参数 lpModuleName, 文本型, , 指定模块名,这通常是与模块的文件名相同的一个名字。
.DLL命令 CreateWindowEx, 整数型, "user32", "CreateWindowExA", 公开, 建立窗口
.参数 dwExStyle, 整数型
.参数 lpClassName, 文本型
.参数 lpWindowName, 文本型
.参数 dwStyle, 整数型
.参数 x, 整数型
.参数 y, 整数型
.参数 nWidth, 整数型
.参数 nHeight, 整数型
.参数 hWndParent, 整数型
.参数 hMenu, 整数型
.参数 hInstance, 整数型
.参数 lpParam, 整数型
.DLL命令 SendMessage, 整数型, "user32", "SendMessageA", 公开, 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ; SendMessageByString是该函数的“类型security”声明形式 由具体的消息决定
.参数 窗口句柄, 整数型, , 要接收消息的那个窗口的句柄
.参数 信息值, 整数型, , 消息的标识符
.参数 参数一, 整数型, , 具体取决于消息
.参数 参数二, 整数型, , 具体取决于消息;
.DLL命令 BringWindowToTop, 整数型, "user32", "BringWindowToTop", 公开, 将指定的窗口带至窗口列表顶部。倘若它部分或全部隐藏于其他窗口下面,则将隐藏的部分完全显示出来。该函数也对弹出式窗口、顶级窗口以及MDI子窗口产生作用 非零表示成功,零表示失败。会设置GetLastError
.参数 窗口句柄, 整数型, , 欲带至顶部的那个窗口的句柄;
.DLL命令 RtlMoveMemory_I2D, 整数型, "kernel32.dll", "RtlMoveMemory", 公开
.参数 lpvDest, 绘制信息
.参数 lpvSource, 整数型
.参数 cbCopy, 整数型
.DLL命令 GetWindowRect, 整数型, "user32", "GetWindowRect", 公开, 获得整个窗口的范围矩形,窗口的边框、标题栏、滚动条及菜单等都在这个矩形内 非零表示成功,零表示失败。会设置GetLastError
.参数 窗口句柄, 整数型, , 想获得范围矩形的那个窗口的句柄
.参数 矩形区域, rect, , RECT,屏幕坐标中随同窗口装载的矩形;
.DLL命令 SendMessage_RECT, 整数型, "user32.dll", "SendMessageA", 公开
.参数 a, 整数型
.参数 b, 整数型
.参数 c, 整数型
.参数 d, rect, 传址
.DLL命令 CopyToPtr_FromEBin, , , "RtlMoveMemory", 公开
.参数 Dest
.参数 Src, 字节集
.参数 length
.DLL命令 _VirtualAlloc, 整数型, "kernel32.dll", "VirtualAlloc", 公开
.参数 lpAddress, 整数型
.参数 dwSize, 整数型
.参数 flAllocationType, 整数型
.参数 flProtect, 整数型
.DLL命令 TrackMouseEvent, 整数型, "user32.dll", "TrackMouseEvent", 公开
.参数 lpEventTrack, 鼠标动作结构
.DLL命令 SetFocus, 整数型, "user32", "SetFocus", 公开, 设置键盘焦点 前一个拥有焦点的窗口的句柄
.参数 hwnd, 整数型, , 准备接收焦点的窗口的句柄
.DLL命令 WindowFromPoint, 整数型, , "WindowFromPoint", 公开
.参数 x, 整数型
.参数 y, 整数型
.DLL命令 SetWindowLong, 整数型, "user32", "SetWindowLongA", 公开, 设置窗口信息 指定数据的前一个值
.参数 hwnd, 整数型, , 欲为其取得信息的窗口的句柄
.参数 nIndex, 整数型, , 请参考GetWindowLong函数的nIndex参数的说明
.参数 dwNewLong, 整数型, , 由nIndex指定的窗口信息的新值;
.DLL命令 SetBkMode, 整数型, "gdi32", "SetBkMode", 公开, 指定阴影刷子、虚线画笔以及字符中的空隙的填充方式 前一个背景模式的值
.参数 hdc, 整数型, , 设备场景的句柄
.参数 nBkMode, 整数型, , 下述常数之一:;OPAQUE:用当前的背景色填充虚线画笔、阴影刷子以及字符的空隙;TRANSPARENT:透明处理,即不作上述填充;
.DLL命令 TransparentBlt, 逻辑型, "msimg32.dll", "TransparentBlt", 公开
.参数 目标设备场景句柄, 整数型, , hdc
.参数 目标横坐标, 整数型, , x
.参数 目标纵坐标, 整数型, , y
.参数 目标宽度, 整数型, , nWidth
.参数 目标高度, 整数型, , nHeight
.参数 源设备场景句柄, 整数型, , hSrcDC
.参数 源横坐标, 整数型, , xSrc
.参数 源纵坐标, 整数型, , ySrc
.参数 源宽度, 整数型, , nSrcWidth
.参数 源高度, 整数型, , nSrcHeight
.参数 透明值, 整数型, , crTransparent
.DLL命令 SelectObject, 整数型, "gdi32.dll", "SelectObject", 公开, SelectObject
.参数 场景句柄, 整数型, , hdc
.参数 对象句柄, 整数型, , hobject
.DLL命令 CreatePen, 整数型, "gdi32", "CreatePen", 公开
.参数 风格, 整数型
.参数 宽度, 整数型
.参数 颜色, 整数型
.DLL命令 ReleaseDC, 整数型, "user32", "ReleaseDC", 公开, ReleaseDC
.参数 窗口句柄, 整数型, , hwnd,要释放的设备场景相关的窗口句柄
.参数 设备场景, 整数型, , hdc,要释放的设备场景句柄
.DLL命令 RoundRect, 整数型, "gdi32", "RoundRect", 公开, 用当前选定的画笔画一个圆角矩形,并用当前选定的刷子在其中填充。X3和Y3定义了用于生成圆角的椭圆;非零表示成功,零表示失败。
.参数 设备场景句柄, 整数型, , hdc,用于绘图的设备场景
.参数 启始横坐标, 整数型, , X1,对矩形左上角位置进行说明的X,Y坐标
.参数 启始纵坐标, 整数型, , Y1,
.参数 结束横坐标, 整数型, , X2,对矩形右下角位置进行说明的X,Y坐标
.参数 结束纵坐标, 整数型, , Y2,
.参数 椭圆宽度, 整数型, , X3,用于生成圆角效果的一个椭圆的宽度。取值范围从零(表示不加圆角),一直到矩形的宽度(全圆)
.参数 椭圆高度, 整数型, , Y3,
.DLL命令 DeleteObject, 整数型, "gdi32.dll", "DeleteObject", 公开, DeleteObject
.参数 对象句柄, 整数型, , hObject,一个GDI对象的句柄
.DLL命令 GlobalAlloc, 整数型, , "GlobalAlloc", 公开
.参数 wFlags, 整数型
.参数 dwBytes, 整数型
.DLL命令 GlobalLock, 整数型, , "GlobalLock", 公开
.参数 hMem, 整数型
.DLL命令 GlobalUnlock, 整数型, , "GlobalUnlock", 公开
.参数 hMem, 整数型
.DLL命令 CreateStreamOnHGlobal, 整数型, "Ole32.dll", "CreateStreamOnHGlobal", 公开
.参数 hGlobal, 整数型
.参数 fDeleteOnRelease, 整数型
.参数 ppstm, 整数型, 传址
.DLL命令 GlobalFree, 整数型, , "GlobalFree", 公开
.参数 hMem, 整数型
.DLL命令 GlobalSize, 整数型, , "GlobalSize", 公开
.参数 hMem
.DLL命令 lstrlenw, 整数型, "kernel32.dll", "lstrlenW", 公开, 取宽文本长度
.参数 dqcs, 字节集, , 文本指针
.DLL命令 lstrcpyn, 整数型, "kernel32", "lstrcpynA", 公开, 取内存变量地址
.参数 lpString1, 字节集, 传址, 传址
.参数 lpString2, 字节集, 传址
.参数&nb