易语言查看窗口树源码
系统结构:查看系统窗口树,递归生成窗口树,取图标,窗口_取进程ID,取进程路径,通过句柄取图标,初始化颜色表,CaptureDC,GetBitsAddress,GetBitsSize,BytesPerLine,Create,SetPixelColor,GetBitmapInfoAddress,GetWidth,GetHeight,WIDTHBYTES,GetColorTableAddress,GetBitCount,BMP文件头转字节集,BMP信息头转字节集,CNoColorTable,GetColorTableSize,NumDIBColorEntries,Write,SendMessageA_Str,GetClassNameA,GetWindowTextA,GetWindow,IsWindowVisible,SendMessageA_Int,GetDesktopWindow,GetDC,CreateCompatibleDC,CreateCompatibleBitmap,SelectObject,CreateSolidBrush,FillRect,DrawIconEx,ReleaseDC,DeleteDC,DeleteObject,CreateDIBSection,BitBlt,GdiFlush,memcpy,lstrcpyn,GetClassLongA,GetWindowLongA,GetWindowThreadProcessId,CreateToolhelp32Snapshot,Module32First,CloseHandle,SHGetFileInfo,GetAncestor,
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ 查看系统窗口树
| |
| |------ 递归生成窗口树
| |
| |------ 取图标
| |
| |------ 窗口_取进程ID
| |
| |------ 取进程路径
| |
| |------ 通过句柄取图标
| |
| |------ __启动窗口_尺寸被改变
| |
| |------ _树型框_项目被选择
| |
| |
======位图操作类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 初始化颜色表
| |
| |------ CaptureDC
| |
| |------ GetBitsAddress
| |
| |------ GetBitsSize
| |
| |------ BytesPerLine
| |
| |------ Create
| |
| |------ SetPixelColor
| |
| |------ GetBitmapInfoAddress
| |
| |------ GetWidth
| |
| |------ GetHeight
| |
| |------ WIDTHBYTES
| |
| |------ GetColorTableAddress
| |
| |------ GetBitCount
| |
| |------ BMP文件头转字节集
| |
| |------ BMP信息头转字节集
| |
| |------ CNoColorTable
| |
| |------ GetColorTableSize
| |
| |------ NumDIBColorEntries
| |
| |------ Write
| |
| |
======调用的Dll
| |
| |---[dll]------ SendMessageA_Str
| |
| |---[dll]------ GetClassNameA
| |
| |---[dll]------ GetWindowTextA
| |
| |---[dll]------ GetWindow
| |
| |---[dll]------ IsWindowVisible
| |
| |---[dll]------ SendMessageA_Int
| |
| |---[dll]------ GetDesktopWindow
| |
| |---[dll]------ GetDC
| |
| |---[dll]------ CreateCompatibleDC
| |
| |---[dll]------ CreateCompatibleBitmap
| |
| |---[dll]------ SelectObject
| |
| |---[dll]------ CreateSolidBrush
| |
| |---[dll]------ FillRect
| |
| |---[dll]------ DrawIconEx
| |
| |---[dll]------ ReleaseDC
| |
| |---[dll]------ DeleteDC
| |
| |---[dll]------ DeleteObject
| |
| |---[dll]------ CreateDIBSection
| |
| |---[dll]------ BitBlt
| |
| |---[dll]------ GdiFlush
| |
| |---[dll]------ memcpy
| |
| |---[dll]------ lstrcpyn
| |
| |---[dll]------ GetClassLongA
| |
| |---[dll]------ GetWindowLongA
| |
| |---[dll]------ GetWindowThreadProcessId
| |
| |---[dll]------ CreateToolhelp32Snapshot
| |
| |---[dll]------ Module32First
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ SHGetFileInfo
| |
| |---[dll]------ GetAncestor
调用的DLL命令:
.DLL命令 SendMessageA_Str, 整数型, , "SendMessageA", 公开, 发送信息_文本
.参数 hwnd, 整数型, , 窗口句柄
.参数 wMsg, 整数型, , 标识
.参数 wParam, 整数型, , 消息1
.参数 lParam, 文本型, , 消息2
.DLL命令 GetClassNameA, 整数型, "user32", "GetClassNameA", 公开, 取类名
.参数 hwnd, 整数型, , 欲获得类名的那个窗口的句柄
.参数 lpClassName, 文本型, , 随同类名载入的缓冲区。预先至少必须分配nMaxCount+1个字符
.参数 nMaxCount, 整数型, , 由lpClassName提供的缓冲区长度
.DLL命令 GetWindowTextA, 整数型, "user32.dll", "GetWindowTextA", 公开, 取窗口标题 取得一个窗体的标题(caption)文字,或者一个控件的内容
.参数 hWnd, 整数型, , 欲获取文字的那个窗口的句柄
.参数 lpString, 文本型, , 预定义的一个缓冲区,至少有cch+1个字符大小;随同窗口文字载入
.参数 cch, 整数型, , lpString缓冲区的长度
.DLL命令 GetWindow, 整数型, "user32", "GetWindow", 公开, 获得句柄 获得一个窗口的句柄,该窗口与某源窗口有特定的关系(返回一个窗口句柄,没有找到或错误返回0)
.参数 hwnd, 整数型, , 源窗口
.参数 cmd, 整数型, , 指定结果窗口与源窗口的关系,GW_CHILD 寻找源窗口的第一个子窗口 GW_HWNDNEXT 为源窗口寻找下一个兄弟窗口
.DLL命令 IsWindowVisible, 整数型, "user32", "IsWindowVisible", 公开, 窗口是否可见
.参数 hwnd, 整数型, , 要测试的那个窗口的句柄
.DLL命令 SendMessageA_Int, 整数型, , "SendMessageA", 公开, 发送信息_整数
.参数 hwnd, 整数型, , 窗口句柄
.参数 wMsg, 整数型, , 标识
.参数 wParam, 整数型, , 消息1
.参数 lParam, 整数型, , 消息2
.DLL命令 GetDesktopWindow, 整数型, "user32", "GetDesktopWindow", 公开, 取屏幕句柄 返回屏幕的句柄
.DLL命令 GetDC, 整数型, "user32", "GetDC", 公开, 获取指定窗口的设备场景
.参数 hwnd, 整数型, , 将获取其设备场景的窗口的句柄。若为0,则要获取整个屏幕的DC
.DLL命令 CreateCompatibleDC, 整数型, "gdi32", "CreateCompatibleDC", 公开, 创建一个与特定设备场景一致的内存设备场景
.参数 hdc, 整数型, , 设备场景句柄。新的设备场景将与它一致。也可能为0以创建一个与屏幕一致的设备场景
.DLL命令 CreateCompatibleBitmap, 整数型, "gdi32", "CreateCompatibleBitmap", 公开, 创建设备位图 创建一幅与设备有关位图,它与指定的设备场景兼容
.参数 hdc, 整数型, , 设备场景的句柄
.参数 nWidth, 整数型, , 位图宽度,以像素为单位
.参数 nHeight, 整数型, , 位图高度,以像素为单位
.DLL命令 SelectObject, 整数型, "gdi32.dll", "SelectObject", 公开, 选入设备场景
.参数 场景句柄, 整数型, , hdc
.参数 对象句柄, 整数型, , hobject
.DLL命令 CreateSolidBrush, 整数型, "gdi32.dll", "CreateSolidBrush", 公开, 创建固体画笔
.参数 crColor, 整数型, , 画笔颜色
.DLL命令 FillRect, 整数型, "user32.dll", "FillRect", 公开, 填充刷子 填充使用指定的刷子一个矩形。此功能包括左侧和顶部的边界,但不包括该矩形的右侧和底部边界。
.参数 hdc, 整数型, , 设备句柄
.参数 lpRect, RECT, 传址, 矩形结构
.参数 hBrush, 整数型, , 用于填充矩形的画笔
.DLL命令 DrawIconEx, 整数型, "user32", "DrawIconEx", 公开, 描绘图标或鼠标指针 。与DrawIcon相比,这个函数提供了更多的功能
.参数 hdc, 整数型, , 要在其中画图的一个设备场景的句柄
.参数 xLeft, 整数型, , 图标左上角的位置,X
.参数 yTop, 整数型, , 图标左上角的位置,Y
.参数 hIcon, 整数型, , 要描绘的图标的句柄
.参数 cxWidth, 整数型, , 希望的图标高度。图标会自动缩放,与指定的值相符
.参数 cyWidth, 整数型, , 希望的图标高度。图标会自动缩放,与指定的值相符
.参数 istepIfAniCur, 整数型, , 如果hIcon是个动画指针,那么该参数指定描绘动画中的哪幅图象。注意Win32不能区分图标和指针
.参数 hbrFlickerFreeDraw, 整数型, , 如设为一个刷子句柄,那么函数会将图标画入一幅内存位图,并用背景色填充。随后,将图象直接复制到指定的位置。这样做可绘图时减少闪烁(因为画图过程中重现)
.参数 diFlags, 整数型, , DI_COMPAT描绘标准的系统指针,而不是指定的图象DI_NORMAL用常规方式绘图(合并 DI_IMAGE 和 DI_MASK)
.DLL命令 ReleaseDC, 整数型, "user32", "ReleaseDC", 公开, 释放场景 释放由调用GetDC或GetWindowDC函数获取的指定设备场景 。它对类或私有设备场景无效(但这样的调用不会造成损害)
.参数 hwnd, 整数型, , 要释放的设备场景相关的窗口句柄
.参数 hdc, 整数型, , 要释放的设备场景句柄
.DLL命令 DeleteDC, 整数型, "gdi32", "DeleteDC", 公开, 删除场景 删除专用设备场景或信息场景,释放所有相关窗口资源。不要将它用于GetDC函数取回的设备场景
.参数 hdc, 整数型, , 将要删除的设备场景
.DLL命令 DeleteObject, 整数型, "gdi32.dll", "DeleteObject", 公开, 删除对象 用这个函数删除GDI对象,比如画笔、刷子、字体、位图、区域以及调色板等等。对象使用的所有系统资源都会被释放 非零表示成功,零表示失败
.参数 hObject, 整数型, , 一个GDI对象的句柄;
.DLL命令 CreateDIBSection, 整数型, "gdi32.dll", "CreateDIBSection"
.参数 hDC, 整数型
.参数 pBitmapInfo, 字节集, 传址
.参数 un, 整数型
.参数 lplpVoid, 整数型, 传址
.参数 handle, 整数型
.参数 dw, 整数型
.DLL命令 BitBlt, 整数型, "gdi32.dll", "BitBlt"
.参数 hDestDC, 整数型
.参数 x, 整数型
.参数 y, 整数型
.参数 nWidth, 整数型
.参数 nHeight, 整数型
.参数 hSrcDC, 整数型
.参数 xSrc, 整数型
.参数 ySrc, 整数型
.参数 dwRop, 整数型
.DLL命令 GdiFlush, 整数型, "gdi32.dll", "GdiFlush", , 执行任何未决的绘图操作,如所有未决的绘图操作都成功完成,就返回TRUE(非零)。如任何一个操作失败,就返回零值
.DLL命令 memcpy, , "Kernel32.dll", "RtlMoveMemory", , 复制内存(无返回值)
.参数 Destination, 整数型, , 目的指针
.参数 Source, 整数型, , 源指针
.参数 Length, 整数型, , 复制长度
.DLL命令 lstrcpyn, 整数型, "kernel32", "lstrcpynA", , 取内存变量地址
.参数 lpString1, 字节集, 传址, 传址
.参数 lpString2, 字节集, 传址
.参数 iMaxLength, 整数型
.DLL命令 GetClassLongA, 整数型, "user32", "GetClassLongA", 公开, 取得窗口类的一个Long变量条目
.参数 hwnd, 整数型, , 要为其获得类信息的窗口的句柄
.参数 nIndex, 整数型, , GCL_CBCLSEXTRA这个类结构中分配的额外字节数GCL_HICON这个类中窗口默认图标的句柄GCL_HMODULE这个类的模块的句柄
.DLL命令 GetWindowLongA, 整数型, "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命令 GetWindowThreadProcessId, 整数型, "user32", "GetWindowThreadProcessId", 公开, 获取与指定窗口关联在一起的一个进程和线程标识符
.参数 lpdwProcessId, 整数型, , 指定一个变量,用于装载拥有那个窗口的一个进程的标识符
.参数 hwnd, 整数型, 传址, 指定窗口句柄
.DLL命令 CreateToolhelp32Snapshot, 整数型, "kernel32.dll", "CreateToolhelp32Snapshot", 公开, 创建进程快照 返回快照句柄
.参数 lFlags, 整数型, , 用来指定“快照”中需要返回的对象,可以是TH32CS_SNAPPROCESS等
.参数 lProcessID, 整数型, , 一个进程ID号,用来指定要获取哪一个进程的快照,当获取系统进程列表或获取当前进程快照时可以设为0
.DLL命令 Module32First, 整数型, "kernel32.dll", "Module32First", 公开, 第一个模块 返回模块数目
.参数 hSnapshot, 整数型, , 快照句柄
.参数 uProcess, MODULEENTRY32, 传址, 模块进程结构
.DLL命令 CloseHandle, 整数型, "kernel32", "CloseHandle", 公开, 关闭内核对象 非零表示成功,零表示失败。会设置GetLastError关闭一个内核对象。其中包括文件、文件映射、进程、线程、security和同步对象等。
.参数 hObject, 整数型, , 欲关闭的一个对象的句柄;
.DLL命令 SHGetFileInfo, 整数型, , "SHGetFileInfo", 公开
.参数 pszPath, 文本型
.参数 dwFileAttributes, 整数型
.参数 psfi, SHFILEINFO
.参数 cbFileInfo, 整数型
.参数 uFlags, 整数型
.DLL命令 GetAncestor, 整数型, "user32.dll", "GetAncestor"
.参数 窗口句柄, 整数型
.参数 标志, 整数型, , gaFlags
易语言糊模查找窗口标题并弹出源码,枚举系统所有窗口,GetWindow,GetWindowText,GetWindowTextLength,FindWindow,ShowWindow...
易语言其它简易换肤13种源码,配色...
易语言简单的验证码识别加界面源码,主识别程序,是否符合,说明,程序初始化,显示验证码,分割图片,对应识别,替换杂色,全部替换色,除指定色外全部除去,读入图片...
易语言笔划输入法一整套文件源码,子程序1,数清,清,按钮1,按钮2,按钮3,按钮4,按钮5,注,投递文本,解码火星文,计1,笔画字刷新,操作,字刷新,计,填,GetGUIThreadInfo,ClientToScreen,屏幕截图,拖动屏幕...
易语言窗口渐变源码,CreateSolidBrush,DeleteObject,FillRect,GetDC...
易语言窗体拉动源码,设置系统菜单,API_设置窗口区域,创建椭圆区域,取窗口风格,置窗口风格...
易语言突破灰色按钮和水波特效,突破灰色按钮和水波特效源码,装载图片,水周期,水波特效,装载图片_,接收装载图返回的整数,水周期_,窗口绘图,水波特效_,突破灰色按钮,激活按钮,取得当...
易语言突破灰色按钮和水波特效源码,装载图片,水周期,水波特效,突破灰色按钮,激活按钮,取得当前活动窗口句柄,枚举所有子窗体,是否活动窗口,激活窗口...
易语言科大讯飞语音库调用例程源码,刷新窗口,取错误码,初始化,反初始化,连接语音服务器,断开语音服务器,置合成参数,取合成参数,字符串合成到音频文件,文本文件合成到音频文件,播放...