易语言窗口挂接源码
系统结构:DLL入口函数,GetNewInf,消息接口,Window挂接_接口,Window挂接_创建,Window挂接_子类化,Window挂接_取设计页面指定属性,Window挂接_取设计页面全部属性,Window挂接_设计页面是否可修改,Window挂接_使用自定义对话框,Window挂接_设计页面是否可被修改,开始挂接,取消挂接,Sub_皮肤类_函数过程,Sub_重画窗口,Sub_枚举顶级窗口,Sub_创建位图场景_从资源ID,API_DefWindowProcA,API_IsWindow,API_BeginPaint,API_EndPaint,API_创建纯色刷子,API_删除对象,API_填充矩形,API_取窗口矩形,API_创建窗口,API_销毁窗口,API_发送消息,API_异步显示窗口,API_屏蔽窗口矩形,API_UpdateWindow,API_GetClassNameA,API_GetParent,API_选入设备场景,API_获取对象句柄,API_载入位图,API_画矩形边框,API_复制位图可缩放,API_删除设备场景,API_创建内存场景,API_创建设备位图,API_释放设备场景,API_获取设备场景,API_获取对象属性,
======程序集1
| |
| |------ _启动子程序
| |
| |------ DLL入口函数
| |
| |------ GetNewInf
| |
| |------ 消息接口
| |
| |
======Window挂接
| |
| |------ Window挂接_接口
| |
| |------ Window挂接_创建
| |
| |------ Window挂接_子类化
| |
| |------ Window挂接_取设计页面指定属性
| |
| |------ Window挂接_取设计页面全部属性
| |
| |------ Window挂接_设计页面是否可修改
| |
| |------ Window挂接_使用自定义对话框
| |
| |------ Window挂接_设计页面是否可被修改
| |
| |
======Window皮肤
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 开始挂接
| |
| |------ 取消挂接
| |
| |
======共享类
| |
| |------ Sub_皮肤类_函数过程
| |
| |------ Sub_重画窗口
| |
| |------ Sub_枚举顶级窗口
| |
| |------ Sub_创建位图场景_从资源ID
| |
| |
======调用的Dll
| |
| |---[dll]------ API_DefWindowProcA
| |
| |---[dll]------ API_IsWindow
| |
| |---[dll]------ API_BeginPaint
| |
| |---[dll]------ API_EndPaint
| |
| |---[dll]------ API_创建纯色刷子
| |
| |---[dll]------ API_删除对象
| |
| |---[dll]------ API_填充矩形
| |
| |---[dll]------ API_取窗口矩形
| |
| |---[dll]------ API_创建窗口
| |
| |---[dll]------ API_销毁窗口
| |
| |---[dll]------ API_发送消息
| |
| |---[dll]------ API_异步显示窗口
| |
| |---[dll]------ API_屏蔽窗口矩形
| |
| |---[dll]------ API_UpdateWindow
| |
| |---[dll]------ API_GetClassNameA
| |
| |---[dll]------ API_GetParent
| |
| |---[dll]------ API_选入设备场景
| |
| |---[dll]------ API_获取对象句柄
| |
| |---[dll]------ API_载入位图
| |
| |---[dll]------ API_画矩形边框
| |
| |---[dll]------ API_复制位图可缩放
| |
| |---[dll]------ API_删除设备场景
| |
| |---[dll]------ API_创建内存场景
| |
| |---[dll]------ API_创建设备位图
| |
| |---[dll]------ API_释放设备场景
| |
| |---[dll]------ API_获取设备场景
| |
| |---[dll]------ API_获取对象属性
| |
| |---[dll]------ _取指针_文本型
调用的DLL命令:
.DLL命令 API_DefWindowProcA, 整数型, "user32.dll", "DefWindowProcA"
.参数 窗口句柄, 整数型
.参数 消息值, 整数型
.参数 附加参数1, 整数型
.参数 附加参数2, 整数型
.DLL命令 API_IsWindow, 逻辑型, "user32.dll", "IsWindow", , 判断一个窗口句柄是否有效
.参数 窗口句柄, 整数型, , hwnd,待检查窗口的句柄
.DLL命令 API_BeginPaint, , , "BeginPaint"
.参数 hwnd, 整数型
.参数 lpPaint, s_PS
.DLL命令 API_EndPaint, , , "EndPaint"
.参数 hwnd, 整数型
.参数 lpPaint, s_PS
.DLL命令 API_创建纯色刷子, 整数型, "gdi32.dll", "CreateSolidBrush"
.参数 颜色值, 整数型, , crColor,颜色值
.DLL命令 API_删除对象, 整数型, "gdi32.dll", "DeleteObject", , DeleteObject
.参数 对象句柄, 整数型, , hObject,一个GDI对象的句柄
.DLL命令 API_填充矩形, 整数型, "user32.dll", "FillRect", , FillRect,用指定的刷子填充一个矩形
.参数 设备场景, 整数型, , hdc,设备场景的句柄
.参数 填充区域, s_RECT, , lpRect,对填充区域进行描述的一个矩形,采用逻辑坐标
.参数 刷子句柄, 整数型, , hBrush,欲使用的刷子的句柄
.DLL命令 API_取窗口矩形, 整数型, "user32", "GetWindowRect"
.参数 窗口句柄, 整数型
.参数 矩形区域, s_RECT
.DLL命令 API_创建窗口, 整数型, "user32.dll", "CreateWindowExA"
.参数 扩展风格, 整数型
.参数 类名, 文本型, , 刚才注册的类名
.参数 窗口标题, 文本型
.参数 风格, 整数型
.参数 屏幕横坐标, 整数型
.参数 屏幕纵坐标, 整数型
.参数 宽度, 整数型
.参数 高度, 整数型
.参数 父窗口句柄, 整数型, , 没有就写0
.参数 菜单句柄, 整数型
.参数 模块句柄, 整数型
.参数 参数, 整数型
.DLL命令 API_销毁窗口, 整数型, "user32.dll", "DestroyWindow"
.参数 窗口句柄, 整数型, , hwnd,预清除的窗口的句柄
.DLL命令 API_发送消息, 整数型, "user32", "SendMessageA", , 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, ; SendMessageByString是该函数的“类型security”声明形式 由具体的消息决定
.参数 窗口句柄, 整数型, , 要接收消息的那个窗口的句柄
.参数 信息值, 整数型, , 消息的标识符
.参数 参数一, 整数型, , 具体取决于消息
.参数 参数二, 整数型, , 具体取决于消息;
.DLL命令 API_异步显示窗口, 整数型, "user32", "ShowWindowAsync", , ShowWindowAsync
.参数 窗口句柄, 整数型, , hwnd,欲接收ShowWindow命令的窗口
.参数 可视性类型, 逻辑型, , nCmdShow,与ShowWindow相同
.DLL命令 API_屏蔽窗口矩形, 整数型, "user32.dll", "InvalidateRect", , 这个函数屏蔽一个窗口客户区的全部或部分区域
.参数 窗口句柄, 整数型, , hwnd,待屏蔽窗口的句柄
.参数 屏蔽矩形, s_RECT, , lpRect,用于描述待屏蔽矩形部分的一个矩形结构
.参数 重画前删除, 逻辑型, , bErase,TRUE(非零)导致指定的区域在重画前先删除
.DLL命令 API_UpdateWindow, , , "UpdateWindow"
.参数 hwnd, 整数型
.DLL命令 API_GetClassNameA, 整数型, "user32", "GetClassNameA"
.参数 窗口句柄, 整数型
.参数 缓冲区, 文本型, 传址
.参数 缓冲区长度, 整数型
.DLL命令 API_GetParent, 整数型, "user32", "GetParent", , 判断指定窗口的父窗口 父窗口的句柄。如窗口没有父,或遇到错误,则返回零。会设置GetLastError
.参数 窗口句柄, 整数型, , 欲测试的窗口的句柄;
.DLL命令 API_选入设备场景, 整数型, , "SelectObject", , SelectObject
.参数 场景句柄, 整数型, , hdc
.参数 对象句柄, 整数型, , hobject
.DLL命令 API_获取对象句柄, 整数型, , "GetStockObject"
.参数 类型, 整数型
.DLL命令 API_载入位图, 整数型, "user32.dll", "LoadBitmapA", , 从指定的模块或应用程序实例中载入一幅位图
.参数 实例句柄, 整数型, , hInstance,参见相关帮助
.参数 位图标识, , , lpBitmapName,参见相关帮助
.DLL命令 API_画矩形边框, 整数型, "user32.dll", "FrameRect"
.参数 设备场景, 整数型, , hdc,设备场景的句柄
.参数 矩形, s_RECT, , lpRect,对要描绘的边框进行描述的一个矩形
.参数 刷子句柄, 整数型, , hBrush,欲使用的刷子的句柄
.DLL命令 API_复制位图可缩放, 整数型, "gdi32.dll", "StretchBlt", , StretchBlt,将一幅位图从一个设备场景复制到另一个。源和目标DC相互间必须兼容。这个函数会在设备场景中定义一个目标矩形,并在位图中定义一个源图象。源矩形会根据需要进行伸缩,以便与目标矩形的大小相符
.参数 目标设备场景句柄, 整数型, , hdc,目标设备场景
.参数 目标横坐标, 整数型, , x,目标矩形左上角的x,y坐标,以逻辑坐标表示
.参数 目标纵坐标, 整数型, , y,目标矩形左上角的x,y坐标,以逻辑坐标表示
.参数 目标宽度, 整数型, , nWidth,目标矩形的宽度和高度,以逻辑坐标表示
.参数 目标高度, 整数型, , nHeight,目标矩形的宽度和高度,以逻辑坐标表示
.参数 源设备场景句柄, 整数型, , hSrcDC,源设备场景。如光栅运算未指定一个源,则这个参数应为零
.参数 源横坐标, 整数型, , xSrc,用源DC的逻辑坐标表示的源矩形左上角位置
.参数 源纵坐标, 整数型, , ySrc,用源DC的逻辑坐标表示的源矩形左上角位置
.参数 源宽度, 整数型, , nSrcWidth,分别指定用逻辑单位(以源DC为基础)传输的一幅图象的宽度和高度。如其中有一个参数的符号(指正负号)与对应的目标参数不符,位图就会在对应的轴上作镜像转换处理
.参数 源高度, 整数型, , nSrcHeight,分别指定用逻辑单位(以源DC为基础)传输的一幅图象的宽度和高度。如其中有一个参数的符号(指正负号)与对应的目标参数不符,位图就会在对应的轴上作镜像转换处理
.参数 光栅运算, 整数型, , dwRop,传输过程中进行的光栅运算。如刷子属于光栅运算的一部分,就使用选入目标DC的刷子
.DLL命令 API_删除设备场景, 整数型, "gdi32.dll", "DeleteDC"
.参数 设备场景句柄, 整数型, , hdc,将要删除的设备场景
.DLL命令 API_创建内存场景, 整数型, "Gdi32", "CreateCompatibleDC"
.参数 设备场景句柄, 整数型
.DLL命令 API_创建设备位图, 整数型, "gdi32", "CreateCompatibleBitmap"
.参数 设备场景句柄, 整数型
.参数 宽度, 整数型
.参数 高度, 整数型
.DLL命令 API_释放设备场景, 整数型, "user32", "ReleaseDC", , ReleaseDC
.参数 窗口句柄, 整数型, , hwnd,要释放的设备场景相关的窗口句柄
.参数 设备场景, 整数型, , hdc,要释放的设备场景句柄
.DLL命令 API_获取设备场景, 整数型, "user32", "GetDC", , 获取指定窗口的设备场景 指定窗口的设备场景句柄,出错则为0
.参数 窗口的句柄, 整数型, , 将获取其设备场景的窗口的句柄。若为0,则要获取整个屏幕的DC;
.DLL命令 API_获取对象属性, 整数型, "gdi32", "GetObjectA"
.参数 对象句柄, 整数型
.参数 数据尺寸, 整数型
.参数 属性, s_位图结构
.DLL命令 _取指针_文本型, 整数型, "kernel32", "lstrcpynA"
.参数 数据1, 文本型
.参数 数据2, 文本型
.参数 数据长度, 整数型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。