易语言按键粒子特效源码
系统结构:键盘钩子处理,时钟周期事件,添加定点爆炸,粒子位置更新,分层图形更新,创建自窗口句柄,UpdateLayeredWindow,创建,GetMdc,销毁,BitBlt,GetDC,SetWindowLong,CallWindowProc,SetTimer,GetWindowRect,GetWindowLong,API_UpdateLayeredWindow,CreateCompatibleDC,CreateDIBSection,SelectObject,DeleteObject,DeleteDC,ReleaseDC,GetForegroundWindow,SetWindowsHookEx,GetModuleHandleA,CopyMemory,RtlMoveMemoryJ,CallNextHookEx,UnhookWindowsHookEx,AttachThreadInput,GetCurrentThreadId,GetWindowThreadProcessId,GetCaretPos,GetFocus,ClientToScreen,KillTimer,
======分层窗口程序集
| |
| |------ _分层窗口_创建完毕
| |
| |------ _分层窗口_将被销毁
| |
| |------ 键盘钩子处理
| |
| |
======粒子绘制类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 时钟周期事件
| |
| |------ 添加定点爆炸
| |
| |------ 粒子位置更新
| |
| |------ 分层图形更新
| |
| |------ 创建自窗口句柄
| |
| |------ UpdateLayeredWindow
| |
| |
======内存场景
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 创建
| |
| |------ GetMdc
| |
| |------ 销毁
| |
| |
======_启动窗口程序集
| |
| |------ _按钮1_被单击
| |
| |------ __启动窗口_将被销毁
| |
| |
======调用的Dll
| |
| |---[dll]------ BitBlt
| |
| |---[dll]------ GetDC
| |
| |---[dll]------ SetWindowLong
| |
| |---[dll]------ CallWindowProc
| |
| |---[dll]------ SetTimer
| |
| |---[dll]------ GetWindowRect
| |
| |---[dll]------ GetWindowLong
| |
| |---[dll]------ API_UpdateLayeredWindow
| |
| |---[dll]------ CreateCompatibleDC
| |
| |---[dll]------ CreateDIBSection
| |
| |---[dll]------ SelectObject
| |
| |---[dll]------ DeleteObject
| |
| |---[dll]------ DeleteDC
| |
| |---[dll]------ ReleaseDC
| |
| |---[dll]------ GetForegroundWindow
| |
| |---[dll]------ SetWindowsHookEx
| |
| |---[dll]------ GetModuleHandleA
| |
| |---[dll]------ CopyMemory
| |
| |---[dll]------ RtlMoveMemoryJ
| |
| |---[dll]------ CallNextHookEx
| |
| |---[dll]------ UnhookWindowsHookEx
| |
| |---[dll]------ AttachThreadInput
| |
| |---[dll]------ GetCurrentThreadId
| |
| |---[dll]------ GetWindowThreadProcessId
| |
| |---[dll]------ GetCaretPos
| |
| |---[dll]------ GetFocus
| |
| |---[dll]------ ClientToScreen
| |
| |---[dll]------ KillTimer
调用的DLL命令:
.DLL命令 BitBlt, 整数型, "gdi32", "BitBlt", , 将一幅位图从一个设备场景复制到另一个。源和目标DC相互间必须兼容 非零表示成功,零表示失败。会设置GetLastError
.参数 hDestDC, 整数型, , 目标设备场景
.参数 x, 整数型, , 对目标DC中目标矩形左上角位置进行描述的那个点。用目标DC的逻辑坐标表示
.参数 y, 整数型, , 同上
.参数 nWidth, 整数型, , 欲传输图象的宽度和高度
.参数 nHeight, 整数型, , 同上
.参数 hSrcDC, 整数型, , 源设备场景。如光栅运算未指定源,则应设为0
.参数 xSrc, 整数型, , 对源DC中源矩形左上角位置进行描述的那个点。用源DC的逻辑坐标表示
.参数 ySrc, 整数型, , 同上
.参数 dwRop, 整数型, , 传输过程要执行的光栅运算;
.DLL命令 GetDC, 整数型, "user32", "GetDC", , 获取指定窗口的设备场景 指定窗口的设备场景句柄,出错则为0
.参数 hwnd, 整数型, , 将获取其设备场景的窗口的句柄。若为0,则要获取整个屏幕的DC;
.DLL命令 SetWindowLong, 整数型, "user32", "SetWindowLongA", , 在窗口结构中为指定的窗口设置信息 指定数据的前一个值
.参数 hwnd, 整数型
.参数 nIndex, 整数型
.参数 dwNewLong, 整数型
.DLL命令 CallWindowProc, 整数型, "user32", "CallWindowProcA", , 将消息传答窗口函数
.参数 lpPrevWndFunc, 整数型
.参数 hwnd, 整数型
.参数 msg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 SetTimer, 整数型, "user32", "SetTimer", , 安装系统定时器
.参数 hWnd, 整数型
.参数 nIDEvent, 整数型
.参数 uElapse, 整数型
.参数 lpTimerFunc, 整数型
.DLL命令 GetWindowRect, 整数型, "user32", "GetWindowRect", , 获得整个窗口的范围矩形,窗口的边框、标题栏、滚动条及菜单等都在这个矩形内 非零表示成功,零表示失败。会设置GetLastError
.参数 hwnd, 整数型, , 想获得范围矩形的那个窗口的句柄
.参数 lpRect, RECT, , RECT,屏幕坐标中随同窗口装载的矩形;
.DLL命令 GetWindowLong, 整数型, "user32", "GetWindowLongA", , 从指定窗口的结构中取得信息 由nIndex决定。零表示出错。会设置GetLastError
.参数 hwnd, 整数型, , 欲为其获取信息的窗口的句柄
.参数 nIndex, 整数型, , 欲取回的信息,可以是下述任何一个常数:;GWL_EXSTYLE:扩展窗口样式;GWL_STYLE:窗口样式;GWL_WNDPROC:该窗口的窗口函数的地址;GWL_HINSTANCE:拥有窗口的实例的句柄;GWL_HWNDPARENT:该窗口之父的句柄。不要用SetWindowWord来改变这个值;GWL_ID:对话框中一个子窗口的标识符;GWL_USERDATA:含义由应用程序规定;DWL_DLGPROC:这个窗口的对话框函数地址;DWL_MSGRESULT:在对话框函数中处理的一条消息返回的值;DWL_USER:含义由应用程序规定;
.DLL命令 API_UpdateLayeredWindow, 整数型, , "UpdateLayeredWindow"
.参数 hwnd, 整数型, , 当前窗口的句柄
.参数 hdcDst, 整数型, , 当前窗口的DC
.参数 pptDst, POINTAPI, , 当前窗口在屏幕的左上角位置(相当于 ::SetWindowPos()函数)
.参数 psize, SIZE, , 当前窗口在的宽度和高度
.参数 hdcSrc, 整数型, , 内存缓存DC
.参数 pptSrc, POINTAPI, , 内存缓存的左上角坐标(可用于裁剪内存缓存)
.参数 crKey, 整数型
.参数 pblend, BLENDFUNCTION, , 混合样式
.参数 dwFlags, 整数型
.DLL命令 CreateCompatibleDC, 整数型, , "CreateCompatibleDC", , 创建内存场景
.参数 hdc, 整数型
.DLL命令 CreateDIBSection, 整数型, "gdi32.dll", "CreateDIBSection", , 该函数创建应用程序可以直接写入的、与设备无关的位图(DIB)。一般情况下后面4参数都为NULL
.参数 hdc, 整数型, , 设备环境句柄。如果iUsage的值是DIB_PAL_COLORS,那么函数使用该设备环境的逻辑调色板对与设备无关位图的颜色进行初始化。
.参数 pbmi, BITMAPINFO, , 指向BITMAPINFO结构的指针,该结构指定了与设备无关位图的各种属性,其中包括位图的维数和颜色。
.参数 iUsage, 整数型, , 指定由pbmi参数指定的BITMAPINFO结构中的成员bmiColors数组包含的数据类型(要么是逻辑调色板索引值,要么是原文的RGB值)。
.参数 ppvBits, 整数型, , 指向一个变量的指针,该变量接收一个指向DIB位数据值的指针。
.参数 hSection, 整数型, , 文件映射对象的句柄。函数将使用该对象来创建DIB(与设备无关位图)。该参数可以是NULL。
.参数 dwOffset, 整数型, , 如果hSection为NULL,那么系统将为与设备无关位图(DIB)分配内存。在这种情况下,函数CreateDIBSection将忽略参数dwOffset,应用程序无法在以后获取指向内存的句柄。通过调用GetObject函数来填充的DIBSECTION结构成员dshSection也将成为NULL。
.DLL命令 SelectObject, 整数型, , "SelectObject"
.参数 hdc, 整数型, , 一个设备场景的句柄
.参数 hObject, 整数型, , 一个画笔、位图、刷子、字体或区域的句柄
.DLL命令 DeleteObject, 整数型, "gdi32", "DeleteObject", , 用这个函数删除GDI对象,比如画笔、刷子、字体、位图、区域以及调色板等等。对象使用的所有系统资源都会被释放 非零表示成功,零表示失败
.参数 hObject, 整数型, , 一个GDI对象的句柄;
.DLL命令 DeleteDC, 整数型, "gdi32", "DeleteDC", , 删除专用设备场景或信息场景,释放所有相关窗口资源。不要将它用于GetDC函数取回的设备场景 执行成功则为非零,失败则为零
.参数 hdc, 整数型, , 将要删除的设备场景 在vb里使用不要将它用于由vb hdc属性获取的设备场景句柄;
.DLL命令 ReleaseDC, , , "ReleaseDC"
.参数 hwnd, 整数型, , 要释放的设备场景相关的窗口句柄
.参数 hdc, 整数型, , 要释放的设备场景句柄
.DLL命令 GetForegroundWindow, 整数型, "user32", "GetForegroundWindow", , 获得前台窗口的句柄。这里的“前台窗口”是指前台应用程序的活动窗口 前台窗口的句柄
.DLL命令 SetWindowsHookEx, 整数型, "user32", "SetWindowsHookExA", , 安装钩子过程
.参数 idHook, 整数型
.参数 lpfn, 子程序指针
.参数 hmod, 整数型
.参数 dwThreadId, 整数型
.DLL命令 GetModuleHandleA, 整数型, , "GetModuleHandleA"
.参数 a, 整数型, , 0
.DLL命令 CopyMemory, , "kernel32", "RtlMoveMemory"
.参数 pDest, 按键信息
.参数 pSrc, 整数型
.参数 ByteLen, 整数型
.DLL命令 RtlMoveMemoryJ, , "kernel32.dll", "RtlMoveMemory"
.参数 Destination, 按键信息
.参数 Source, 整数型
.参数 Length, 整数型
.DLL命令 CallNextHookEx, 整数型, , "CallNextHookEx"
.参数 hook, 整数型
.参数 nCode, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 UnhookWindowsHookEx, 整数型, "user32.dll", "UnhookWindowsHookEx", , 卸载一个钩字
.参数 hook, 整数型
.DLL命令 AttachThreadInput, 整数型, "user32", "AttachThreadInput", , 通常,系统内的每个线程都有自己的输入队列。本函数(既“连接线程输入函数”)允许线程和进程共享输入队列。连接了线程后,输入焦点、窗口激活、鼠标捕获、键盘状态以及输入队列状态都会进入共享状态 非零表示成功,零表示失败,会设置会GetLastError
.参数 idAttach, 整数型, , 欲连接线程的标识符(ID)
.参数 idAttachTo, 整数型, , 与idAttach线程连接的另一个线程的标识符
.参数 fAttach, 整数型, , TRUE(非零)连接,FALSE撤消连接;
.DLL命令 GetCurrentThreadId, 整数型, "kernel32", "GetCurrentThreadId", , 获取当前线程一个唯一的线程标识符 当前的线程标识符
.DLL命令 GetWindowThreadProcessId, 整数型, "user32", "GetWindowThreadProcessId", , ; 获取与指定窗口关联在一起的一个进程和线程标识符 拥有窗口的线程的标识符
.参数 hwnd, 整数型, , 指定一个变量,用于装载拥有那个窗口的一个进程的标识符
.参数 lpdwProcessId, 整数型, , 指定窗口句柄;
.DLL命令 GetCaretPos, 整数型, "user32", "GetCaretPos", , 判断插入符的当前位置 非零表示成功,零表示失败。会设置GetLastError
.参数 lpPoint, POINTAPI, 传址, POINTAPI,这个结构会随同插入符在窗口客户坐标系统中的位置载入;那个窗口是插入符的父窗口;
.DLL命令 GetFocus, 整数型, "user32", "GetFocus", , 获得拥有输入焦点的窗口的句柄 拥有焦点的那个窗口的句柄。如没有窗口拥有输入焦点,则返回零
.DLL命令 ClientToScreen, 整数型, "user32", "ClientToScreen", , 判断窗口内以客户区坐标表示的一个点的屏幕坐标 非零表示成功,零表示失败
.参数 hwnd, 整数型, , 判断客户区坐标时那个窗口的句柄
.参数 lpPoint, POINTAPI, 传址, POINTAPI,用hwnd窗口的客户区坐标表示的点,这个参数会包含屏幕坐标系统中相同的点;
.DLL命令 KillTimer, 整数型, "user32", "KillTimer", , 中止定时器
.参数 hwnd, 整数型
.参数 nIDEvent, 整数型
易语言类似冒险岛2D横版卷轴类游戏源码,初始化,开场见面,处理物品使用,显示掉血数值,怪物刷新血,减血加血处理,创建方块,创建怪物,重叠检测子程序,处理动画,创建物品,创建物品框架...
易语言窗口特效码源码,窗口进程取句柄,进程枚举,枚举窗口,枚举窗口过程,内存自动优化,内存优化,窗口移动,取屏幕尺寸,时钟周期,窗口特效_中心扩展,窗口特效_立体旋转,取窗口尺寸,窗...
易语言用标签打造漂亮界面源码,用标签打造漂亮界面...
易语言特训小游戏源码,newGame,偏移,绘制,碰撞检测,移动,x,y...
易语言图表模块和24位色转单色位图模块源码,初始化表,画柱形,画曲线,检查,画坐标,画虚线,转化为单色,读字节文本,取十进制文本,取二进制文本,画圆饼,椭圆初始化,画饼,算角,颜色...
易语言图片播放刚哪个朋友要的源码,寻找图片文件...
易语言图片色调亮度处理源码,混合颜色...
易语言取字符非循环源码,ANSI转UNICODE,UNICODE转ANSI,取字符数,取字符左边,取字符中间,取字符右边,取字符数2,取字符数3,分解文本到数组,A字符转U,U字符转A...
易语言轮值表源码,轮值表头初始化...