易语言PS备份程序源码
系统结构:启动程序,窗口启动,CopyProgressRoutine,标题文本,发送保存,键盘_消息,进程_是否存在,窗口_取位置和大小,查找PS窗口,查找PS_Tool窗口,取文件名,取文件路径,取文件后缀,加载资源皮肤,检测,加载内存DLL,取DLL导出函数地址,动态调用子程序,取变量数据地址_字节集,窗口最顶层,读取配置文件,写出配置文件,窗口透明关闭,FindWindow,CreateToolhelp32Snapshot,Process32First,CloseHandle,Process32Next,UnregisterHotKey,RegisterHotKey,GetWindowTextA,PostMessageA,GetWindowRect,MoveWindow,SetParent,SetWindowLong,GetWindowLong,GetForegroundwindow,SetWindowPos,API_MessageBox,CopyFileEx,SendMessageA,GetWindow,
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ 启动程序
| |
| |------ 窗口启动
| |
| |------ _gb_被单击
| |
| |------ _开关_被单击
| |
| |------ CopyProgressRoutine
| |
| |------ _监视标题时钟_周期事件
| |
| |------ _设置_被单击
| |
| |------ 标题文本
| |
| |------ 发送保存
| |
| |------ 键盘_消息
| |
| |------ 进程_是否存在
| |
| |------ _置父窗口
| |
| |------ 窗口_取位置和大小
| |
| |------ 查找PS窗口
| |
| |------ 查找PS_Tool窗口
| |
| |------ _标签1_反馈事件
| |
| |------ __启动窗口_将被销毁
| |
| |------ 取文件名
| |
| |------ 取文件路径
| |
| |------ 取文件后缀
| |
| |------ _编辑框1_获得焦点
| |
| |------ _编辑框1_鼠标左键被按下
| |
| |
======内存皮肤
| |
| |------ 加载资源皮肤
| |
| |------ 检测
| |
| |------ 加载内存DLL
| |
| |------ 取DLL导出函数地址
| |
| |------ 动态调用子程序
| |
| |------ 取变量数据地址_字节集
| |
| |------ 窗口最顶层
| |
| |
======窗口程序集2
| |
| |------ _按钮4_被单击
| |
| |------ _窗口1_创建完毕
| |
| |------ 读取配置文件
| |
| |------ 写出配置文件
| |
| |------ _按钮3_被单击
| |
| |------ _按钮1_被单击
| |
| |------ _按钮2_被单击
| |
| |
======窗口程序集3
| |
| |------ _窗口2_创建完毕
| |
| |------ _时钟1_周期事件
| |
| |------ 窗口透明关闭
| |
| |
======调用的Dll
| |
| |---[dll]------ FindWindow
| |
| |---[dll]------ CreateToolhelp32Snapshot
| |
| |---[dll]------ Process32First
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ Process32Next
| |
| |---[dll]------ UnregisterHotKey
| |
| |---[dll]------ RegisterHotKey
| |
| |---[dll]------ GetWindowTextA
| |
| |---[dll]------ PostMessageA
| |
| |---[dll]------ GetWindowRect
| |
| |---[dll]------ MoveWindow
| |
| |---[dll]------ SetParent
| |
| |---[dll]------ SetWindowLong
| |
| |---[dll]------ GetWindowLong
| |
| |---[dll]------ GetForegroundwindow
| |
| |---[dll]------ SetWindowPos
| |
| |---[dll]------ API_MessageBox
| |
| |---[dll]------ CopyFileEx
| |
| |---[dll]------ SendMessageA
| |
| |---[dll]------ GetWindow
| |
| |---[dll]------ _从列表id取路径
| |
| |---[dll]------ _浏览文件夹对话框
调用的DLL命令:
.DLL命令 FindWindow, 整数型, "user32", "FindWindowA", , 寻找窗口列表中第一个符合指定条件的顶级窗口
.参数 lpClassName, 文本型, , 窗口类名
.参数 lpWindowName, 文本型, , 窗口文本(标题)
.DLL命令 CreateToolhelp32Snapshot, 整数型, , "CreateToolhelp32Snapshot", 公开, 创建进程快照
.参数 falg, 整数型
.参数 id, 整数型
.DLL命令 Process32First, 整数型, , "Process32First", 公开, 取第一个进程
.参数 h, 整数型
.参数 p, 精易_进程信息列表
.DLL命令 CloseHandle, 逻辑型, "kernel32", "CloseHandle", 公开, 关闭一个内核对象。其中包括文件、文件映射、进程、线程、security和同步对象等。涉及文件处理时,这个函数通常与vb的close命令相似。应尽可能的使用close,因为它支持vb的差错控制。注意这个函数使用的文件句柄与vb的文件编号是完全不同的 非零表示成功,零表示失败。会设置GetLastError
.参数 对象句柄, 整数型, , 欲关闭的一个对象的句柄;
.DLL命令 Process32Next, 整数型, , "Process32Next", 公开, 取下一个进程
.参数 h, 整数型
.参数 p, 精易_进程信息列表
.DLL命令 UnregisterHotKey, 逻辑型, "user32.dll", "UnregisterHotKey", 公开, 撤消热键钩子
.参数 hWnd, 整数型
.参数 热键标识文本, 文本型
.DLL命令 RegisterHotKey, 整数型, "user32.dll", "RegisterHotKey", 公开, 热键注册
.参数 hWnd, 整数型
.参数 热键标识文本, 文本型
.参数 fsModifoers, 整数型
.参数 vk, 整数型
.DLL命令 GetWindowTextA, 整数型, "user32", "GetWindowTextA", , 取得一个窗体的标题(caption)文字,或者一个控件的内容(在vb里使用:使用vb窗体或控件的caption或text属性) 复制到lpString的字串长度;不包括空中止字符。会设置GetLastError
.参数 窗口句柄, 整数型, , 欲获取文字的那个窗口的句柄
.参数 缓冲区, 文本型, , 预定义的一个缓冲区,至少有cch+1个字符大小;随同窗口文字载入
.参数 缓冲尺寸, 整数型, , lp缓冲区的长度;
.DLL命令 PostMessageA, , , "PostMessageA", 公开, 投递消息
.参数 hwnd, 整数型
.参数 消息号, 整数型
.参数 消息参数1, 整数型
.参数 消息参数2, 整数型
.DLL命令 GetWindowRect, 整数型, "user32", "GetWindowRect", , 获得整个窗口的范围矩形,窗口的边框、标题栏、滚动条及菜单等都在这个矩形内 非零表示成功,零表示失败。会设置GetLastError
.参数 hwnd, 整数型, , 想获得范围矩形的那个窗口的句柄
.参数 lpRect, RECT, , RECT,屏幕坐标中随同窗口装载的矩形;
.DLL命令 MoveWindow, 整数型, "user32", "MoveWindow", , 改变指定窗口的位置和大小。顶级窗口可能受最大或最小尺寸的限制,那些尺寸优先于这里设置的参数 非零表示成功,零表示失败
.参数 hwnd, 整数型, , 欲移动窗口的句柄
.参数 x, 整数型, , 窗口新的左侧位置
.参数 y, 整数型, , 窗口新的顶部位置
.参数 nWidth, 整数型, , 窗口的新宽度
.参数 nHeight, 整数型, , 窗口的高宽度
.参数 bRepaint, 整数型, , 如窗口此时应重画,则设为TRUE(非零)。FALSE(零)则表明应用程序会自己决定是否重画窗口;
.DLL命令 SetParent, 整数型, "user32", "SetParent", , 指定一个窗口的新父(在vb里使用:利用这个函数,vb可以多种形式支持子窗口。例如,可将控件从一个容器移至窗体中的另一个。用这个函数在窗体间移动控件是相当冒险的,但却不失为一个有效的办法。如真的这样做,请在关闭任何一个窗体之前,注意用SetParent将控件的父设回原来的那个) 前一个父窗口的句柄
.参数 hWndChild, 整数型
.参数 hWndNewParent, 整数型
.DLL命令 SetWindowLong, 整数型, "user32", "SetWindowLongA", , 在窗口结构中为指定的窗口设置信息 指定数据的前一个值
.参数 hwnd, 整数型
.参数 nIndex, 整数型
.参数 dwNewLong, 整数型
.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命令 GetForegroundwindow, 整数型, "user32", "GetForegroundWindow"
.DLL命令 SetWindowPos, 整数型, "user32.dll", "SetWindowPos", , , Long,非零表示成功,零表示失败。会设置GetLastError
.参数 窗口句柄, 整数型, , Long,欲定位的窗口
.参数 定位类型, 整数型, , Long,窗口句柄。在窗口列表中,窗口hwnd会置于这个窗口句柄的后面。HWND_BOTTOM将窗口置于窗口列表底部HWND_TOP将窗口置于Z序列的顶部;Z序列代表在分级结构中,窗口针对一个给定级别的窗口显示的顺序HWND_TOPMOST将窗口置于列表顶部,并位于任何最顶部窗口的前面HWND_NOTOPMOST将窗口置于列表顶部,并位于任何最顶部窗口的后面
.参数 窗口新横坐标, 整数型, , Long,窗口新的x坐标。如hwnd是一个子窗口,则x用父窗口的客户区坐标表示
.参数 窗口新纵坐标, 整数型, , Long,窗口新的y坐标。如hwnd是一个子窗口,则y用父窗口的客户区坐标表示
.参数 窗口新宽度, 整数型, , Long,指定新的窗口宽度
.参数 窗口新高度, 整数型, , Long,指定新的窗口高度
.参数 显示方式, 整数型, , Long,包含了旗标的一个整数SWP_DRAWFRAME围绕窗口画一个框SWP_HIDEWINDOW隐藏窗口等等
.DLL命令 API_MessageBox, 整数型, "user32", "MessageBoxA", , 建立消息框窗体
.参数 hwnd, 整数型
.参数 lpText, 文本型
.参数 lpCaption, 文本型
.参数 wType, 整数型
.DLL命令 CopyFileEx, 整数型, "kernel32.dll", "CopyFileExA"
.参数 lpExistingFileName, 文本型, , 源文件
.参数 lpNewFileName, 文本型, , 目标文件
.参数 lpProgressRoutine, 子程序指针
.参数 lpData, 整数型, 传址
.参数 pbCancel, 整数型, 传址
.参数 dwCopyFlags, 整数型
.DLL命令 SendMessageA, 整数型, "user32", "SendMessageA", , 发送消息
.参数 hwnd, 整数型, , 要接收消息的那个窗口的句柄
.参数 wMsg, 整数型, , 消息的标识符
.参数 wParam, 整数型, , 具体取决于消息
.参数 lParam, 整数型, , 具体取决于消息;
.DLL命令 GetWindow, 整数型, "user32", "GetWindow", , , 获得一个窗口的句柄,该窗口与某源窗口有特定的关系
.参数 hwnd, 整数型, , 源窗口
.参数 wCmd, 整数型, , 指定结果窗口与源窗口的关系
.DLL命令 _从列表id取路径, 整数型, "shell32.dll", "SHGetPathFromIDListA"
.参数 结构指针, 整数型, , pIdl
.参数 路径, 文本型, 传址, pszPath
.DLL命令 _浏览文件夹对话框, 整数型, "shell32.dll", "SHBrowseForFolderA", , ,
.参数 浏览文件夹结构, 文件夹信息
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。