cookie分析源码
需要加载模块 Ex_DirectUI 3.0
DLL命令表
.版本 2 .DLL命令 GetBitmapBits, 整数型, "gdi32", "GetBitmapBits" .参数 hBitmap, 整数型 .参数 dwCount, 整数型 .参数 lpBits, 整数型
透明编辑框
.版本 2 .程序集 透明编辑框_EX, 编辑框_Ex .程序集变量 img, 整数型 .程序集变量 类_左边, 整数型 .程序集变量 类_顶边, 整数型 .子程序 _初始化, , , 当基于本类的对象被创建后,此方法会被自动调用 .子程序 _销毁, , , 当基于本类的对象被销毁前,此方法会被自动调用 .子程序 _OnObjProc, 整数型, 公开, 虚函数,组件消息.返回值:0放行,1拦截。在 _ObjProc 之前被调用. .参数 hWnd, 整数型 .参数 hObj, 整数型 .参数 uMsg, 整数型 .参数 wParam, 整数型 .参数 lParam, 整数型 .判断开始 (uMsg = #事件_创建) img = 图像_复制部分 (取EX指针 (窗口_取指针 (类_取成员值 (取指针 (), 2))), 左边 () + 10 + 类_左边, 顶边 () + 9 + 类_顶边, 宽度 (), 高度 ()) .判断 (uMsg = #事件_销毁) 图像_销毁 (img) .默认 .判断结束 返回 (0) .子程序 _计算客户区_编辑框, , 公开 .参数 客户区矩形, RectF, 参考 可空, 修改本参数将影响文本所在矩形 OFFSETRCF (5, 0, -10, -6, 客户区矩形) .子程序 _绘制背景_编辑框, , 公开 .参数 exp, Exs_PaintStruct .局部变量 m_文本格式, 整数型 .局部变量 m_字体指针, 整数型 .局部变量 Yw, 整数型 图形_平滑模式 (exp.mGraphics, #平滑模式_最佳质量) 图形_绘图 (exp.mGraphics, img) .子程序 取EX指针, 整数型, , 句柄:窗口指针或组件句柄,返回PNG .参数 句柄, 整数型 .参数 窗口只打印背景, 逻辑型, 可空 .局部变量 hBitmap, 整数型 .局部变量 Rc, RECT .局部变量 length, 整数型 .局部变量 Bitmap, 整数型 .局部变量 BitData, BITMAPDATA .局部变量 Image, 字节集 .如果 (组件_取成员值 (句柄, 4) = 句柄) ' exdui和obj类的成员4都是窗口指针,相同则说明参数是窗口指针 .如果 (窗口只打印背景) hBitmap = 组件_取成员值 (句柄, 32) ' 背景位图缓存 .否则 hBitmap = 组件_取成员值 (句柄, 28) ' 窗口位图 .如果结束 GetWindowRect (组件_取成员值 (句柄, 2), Rc) .否则 hBitmap = 组件_取成员值 (句柄, 44) CopyMemory (指针到整数 (取指针_通用型 (Rc)), 类_取成员指针 (句柄, 53), 4 × 4) ' 53-56 .如果结束 length = GetBitmapBits (hBitmap, 0, 0) ' 获取长度 Bitmap = 图像_创建自像素格式 (Rc.right - Rc.left, Rc.bottom - Rc.top) 图像_锁定数据 (Bitmap, MakeRC (0, 0, Rc.right - Rc.left, Rc.bottom - Rc.top), 位或 (#图像锁定模式_读, #图像锁定模式_写), #像素格式_32bppPARGB, BitData) GetBitmapBits (hBitmap, length, BitData.Scan0) ' 获取拷贝位图数据 图像_解锁数据 (Bitmap, BitData) 返回 (Bitmap) .子程序 设置位置, , 公开 .参数 左边, 整数型 .参数 顶边, 整数型 类_左边 = 左边 类_顶边 = 顶边
对比代码
.版本 2 .支持库 exui .程序集 程序集1 .程序集变量 Ex_hDll, 整数型 .程序集变量 MainWindow, Ex_DirectUI .程序集变量 Mainhwnd, 整数型 .程序集变量 MSLabel, 标签_Ex .程序集变量 MSGroupBox, 分组框_Ex, , "4" .程序集变量 MSEditBox, 透明编辑框_EX, , "4" .程序集变量 GroupBoxHandle, 整数型, , "4" .程序集变量 MSPictureFrame, 图片框_Ex, , "4" .程序集变量 MSGraphicButton, 图形按钮_Ex .子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行 Ex_hDll = _LoadLibrary (取指针_字节集型 (#Dll_ExduiDll), 0, 0) Mainhwnd = 窗口_创建 (, “cookie分析”, , , 980, 620, ) 全局_初始化 (Ex_hDll, 真, #主题包_Exdui主题包, , { }, “微软雅黑”, 13, , #文本渲染模式_ClearType文本和hinting技术, , , ) MainWindow.挂接窗口 (, Mainhwnd, #主题包_Thunder主题包, , #主程序皮肤, #白色, #标题栏_标题 + #标题栏_关闭按钮 + #标题栏_最小化按钮, 255, #底图方式_九宫排列, , 真, , , ) MainWindow.置客户区偏移 (10, 10 - 1, -10, -11) GroupBoxHandle [1] = MSGroupBox [1].创建 (Mainhwnd, 32, 36, 386, 296, “Cookie1”, , , , RGB2ARGB (#白色, 200), , , , , , , ) MSEditBox [1].设置位置 (32, 36) MSEditBox [1].创建 (GroupBoxHandle [1], 14, 24, 358, 258, , RGB2ARGB (#白色, 200), , , , , 真) MSPictureFrame [1].创建 (GroupBoxHandle [1], 14, 24, 358, 258, #编辑框1) MSPictureFrame [1].透明穿透 (真) GroupBoxHandle [2] = MSGroupBox [2].创建 (Mainhwnd, 532, 36, 386, 296, “Cookie2”, , , , RGB2ARGB (#白色, 200), , , , , , , ) MSPictureFrame [2].创建 (GroupBoxHandle [2], 14, 24, 358, 258, #编辑框1) MSPictureFrame [2].透明穿透 (真) MSEditBox [2].设置位置 (532, 36) MSEditBox [2].创建 (GroupBoxHandle [2], 14, 24, 358, 258, , RGB2ARGB (#白色, 200), , , , , 真) GroupBoxHandle [3] = MSGroupBox [3].创建 (Mainhwnd, 32, 386, 386, 188, “相同参数”, , , , RGB2ARGB (#白色, 200), , , , , , , ) MSPictureFrame [3].创建 (GroupBoxHandle [3], 14, 24, 358, 160, #编辑框1) MSPictureFrame [3].透明穿透 (真) MSEditBox [3].设置位置 (32, 386) MSEditBox [3].创建 (GroupBoxHandle [3], 14, 24, 358, 160, , RGB2ARGB (#白色, 200), , , , , 真) GroupBoxHandle [4] = MSGroupBox [4].创建 (Mainhwnd, 532, 386, 386, 188, “不同参数”, , , , RGB2ARGB (#白色, 200), , , , , , , ) MSPictureFrame [4].创建 (GroupBoxHandle [4], 14, 24, 358, 160, #编辑框1) MSPictureFrame [4].透明穿透 (真) MSEditBox [4].设置位置 (532, 386) MSEditBox [4].创建 (GroupBoxHandle [4], 14, 24, 358, 160, , RGB2ARGB (#白色, 200), , , , , 真) MSGraphicButton.创建 (Mainhwnd, 438, 332, 84, 84) MSGraphicButton.置状态图片 (#按钮1, #按钮2, #按钮3, , ) MSGraphicButton.透明穿透 (真) MSGraphicButton.事件_被单击 (&开始对比) MainWindow.置进入特效 (#特效类型_窗口_渐隐渐显, , , , #缓动类型_弹性缓动) MainWindow.置退出特效 (#特效类型_窗口_弹性伸缩, , , , #缓动类型_弹性缓动) 窗口_消息循环 (Mainhwnd) _FreeLibrary (Ex_hDll) 返回 (0) .子程序 开始对比 .参数 句柄, 整数型 .参数 X, 整数型 .参数 Y, 整数型 .参数 状态, 整数型 .局部变量 cookie1数组, 文本型, , "0" .局部变量 cookie2数组, 文本型, , "0" .局部变量 i, 整数型 .局部变量 n, 整数型 .局部变量 相同参数, 逻辑型 .局部变量 相同文本, 文本型 .局部变量 不同文本, 文本型 cookie1数组 = 分割文本 (MSEditBox [1].内容 (), “; ”, ) cookie2数组 = 分割文本 (MSEditBox [2].内容 (), “; ”, ) .判断开始 (取数组成员数 (cookie1数组) ≥ 取数组成员数 (cookie2数组)) .计次循环首 (取数组成员数 (cookie1数组), i) 相同参数 = 假 .计次循环首 (取数组成员数 (cookie2数组), n) .如果真 (cookie1数组 [i] = cookie2数组 [n]) 相同参数 = 真 跳出循环 () .如果真结束 .计次循环尾 () .如果 (相同参数) .如果 (相同文本 = “”) 相同文本 = cookie1数组 [i] .否则 相同文本 = 相同文本 + #换行符 + cookie1数组 [i] .如果结束 .否则 .如果 (不同文本 = “”) 不同文本 = cookie1数组 [i] .否则 不同文本 = 不同文本 + #换行符 + cookie1数组 [i] .如果结束 .如果结束 .计次循环尾 () .判断 (取数组成员数 (cookie1数组) ≤ 取数组成员数 (cookie2数组)) .计次循环首 (取数组成员数 (cookie2数组), i) 相同参数 = 假 .计次循环首 (取数组成员数 (cookie1数组), n) .如果真 (cookie2数组 [i] = cookie1数组 [n]) 相同参数 = 真 跳出循环 () .如果真结束 .计次循环尾 () .如果 (相同参数) .如果 (相同文本 = “”) 相同文本 = cookie2数组 [i] .否则 相同文本 = 相同文本 + #换行符 + cookie2数组 [i] .如果结束 .否则 .如果 (不同文本 = “”) 不同文本 = cookie2数组 [i] .否则 不同文本 = 不同文本 + #换行符 + cookie2数组 [i] .如果结束 .如果结束 .计次循环尾 () .默认 .判断结束 MSEditBox [3].内容 (相同文本) MSEditBox [4].内容 (不同文本) MSEditBox [3].重画 () MSEditBox [4].重画 ()
运行结果:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对亿速云的支持。如果你想了解更多相关内容请查看下面相关链接
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。