易语言进程管理模块源码
系统结构:获取进程序列表,取进程主窗口标题进程线程,进程ID获取主窗口信息,未用_进程ID获取窗口信息,过程函数_枚举主窗口,暂未用_枚举窗口过程函数,取模块路径,提升进程权限,获取当前进程路径,获取窗口进程路径,获取顶级窗口句柄集,获取顶级窗口句柄集_过程函数_枚举窗口,按进程名获取窗口信息,按窗口句柄取进程信息,获取任务栏窗口句柄集_过程函数_枚举栏任务窗口,获取任务栏窗口句柄集,判断程序是否已启动,取窗口状态,取窗口显示状态,置窗口状态,判断程序标识符是否有效,初始化,更新,读AppInfo到数组,取已安装程序数量,取已知已安装程序信息组,取已知已安装程序信息_路径,取已知程序信息,枚举安装列表到数组,枚举信息并加入到列表,API_Module32First,API_ExtractIconA,API_OpenProcess,API_GetCurrentProcess,API_打开令牌,API_恢复权限,API_获取令牌特权,API_创建进程快照,API_第一个进程,API_下一个进程,API_获取模块全路径名,API_第一个线程,API_下一个线程,API_枚举任务窗口,API_取父窗口,API_关闭句柄,API_获取窗口的进程标识符,API_取当前活动的窗口句柄,API_GetActiveWindow,API_EnumWindows,API_获取窗口标题,API_获取窗口标题长度,API_IsWindowVisible,API_GetWindowLong,API_GetWindow,API_RegOpenKey,API_RegCloseKey,API_RegEnumValue,API_RegEnumKey,API_GetWindowInfo,API_IsWindow,API_GetWindowPlacement,API_ShowWindow,API_IsProcessInJob,API_GetForegroundWindow,API_SetForegroundWindow,
======程序集1
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |------ 获取进程序列表
| |
| |------ 取进程主窗口标题进程线程
| |
| |------ 进程ID获取主窗口信息
| |
| |------ 未用_进程ID获取窗口信息
| |
| |------ 过程函数_枚举主窗口
| |
| |------ 暂未用_枚举窗口过程函数
| |
| |------ 取模块路径
| |
| |------ 提升进程权限
| |
| |------ 获取当前进程路径
| |
| |------ 获取窗口进程路径
| |
| |------ 获取顶级窗口句柄集
| |
| |------ 获取顶级窗口句柄集_过程函数_枚举窗口
| |
| |------ 按进程名获取窗口信息
| |
| |------ 按窗口句柄取进程信息
| |
| |------ 获取任务栏窗口句柄集_过程函数_枚举栏任务窗口
| |
| |------ 获取任务栏窗口句柄集
| |
| |------ 判断程序是否已启动
| |
| |------ 取窗口状态
| |
| |------ 取窗口显示状态
| |
| |------ 置窗口状态
| |
| |------ 判断程序标识符是否有效
| |
| |
======窗口程序集1
| |
| |------ _按钮1_被单击
| |
| |------ _按钮2_被单击
| |
| |------ _测试窗口_创建完毕
| |
| |
======安装程序管理
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 初始化
| |
| |------ 更新
| |
| |------ 读AppInfo到数组
| |
| |------ 取已安装程序数量
| |
| |------ 取已知已安装程序信息组
| |
| |------ 取已知已安装程序信息_路径
| |
| |------ 取已知程序信息
| |
| |------ 枚举安装列表到数组
| |
| |------ 枚举信息并加入到列表
| |
| |
======调用的Dll
| |
| |---[dll]------ API_Module32First
| |
| |---[dll]------ API_ExtractIconA
| |
| |---[dll]------ API_OpenProcess
| |
| |---[dll]------ API_GetCurrentProcess
| |
| |---[dll]------ API_打开令牌
| |
| |---[dll]------ API_恢复权限
| |
| |---[dll]------ API_获取令牌特权
| |
| |---[dll]------ API_创建进程快照
| |
| |---[dll]------ API_第一个进程
| |
| |---[dll]------ API_下一个进程
| |
| |---[dll]------ API_获取模块全路径名
| |
| |---[dll]------ API_第一个线程
| |
| |---[dll]------ API_下一个线程
| |
| |---[dll]------ API_枚举任务窗口
| |
| |---[dll]------ API_取父窗口
| |
| |---[dll]------ API_关闭句柄
| |
| |---[dll]------ API_获取窗口的进程标识符
| |
| |---[dll]------ API_取当前活动的窗口句柄
| |
| |---[dll]------ API_GetActiveWindow
| |
| |---[dll]------ API_EnumWindows
| |
| |---[dll]------ API_获取窗口标题
| |
| |---[dll]------ API_获取窗口标题长度
| |
| |---[dll]------ API_IsWindowVisible
| |
| |---[dll]------ API_GetWindowLong
| |
| |---[dll]------ API_GetWindow
| |
| |---[dll]------ API_RegOpenKey
| |
| |---[dll]------ API_RegCloseKey
| |
| |---[dll]------ API_RegEnumValue
| |
| |---[dll]------ API_RegEnumKey
| |
| |---[dll]------ API_GetWindowInfo
| |
| |---[dll]------ API_IsWindow
| |
| |---[dll]------ API_GetWindowPlacement
| |
| |---[dll]------ API_ShowWindow
| |
| |---[dll]------ API_IsProcessInJob
| |
| |---[dll]------ API_GetForegroundWindow
| |
| |---[dll]------ API_SetForegroundWindow
调用的DLL命令:
.DLL命令 API_Module32First, 整数型, , "Module32First"
.参数 hsnap, 整数型
.参数 mod, 模块信息
.DLL命令 API_ExtractIconA, 整数型, "shell32.dll", "ExtractIconA"
.参数 窗口句柄, 整数型
.参数 文件名称, 文本型
.参数 图标索引, 整数型
.DLL命令 API_OpenProcess, 整数型, , "OpenProcess", , 用来打开一个已存在的进程对象,并返回进程的句柄ID
.参数 dwDesiredAccess, 整数型, , 指定这个句柄要求的访问方法,PROCESS_CREATE_THREAD 2(允许远程创建线程);PROCESS_VM_OPERATION 8 (允许远程VM操作);PROCESS_VM_WRITE 32 (允许远程VM写);2035711 完全访问
.参数 bInheritHandle, 整数型, , 如句柄能够由子进程继承,则为TRUE,0 PROCESS_QUERY_INFORMATION =&H400 PROCESS_VM_READ =&H10
.参数 dwProcessId, 整数型, , 要打开那个进程的进程标识符
.DLL命令 API_GetCurrentProcess, 整数型, "kernel32.dll", "GetCurrentProcess"
.DLL命令 API_打开令牌, 整数型, "advapi32.dll", "OpenProcessToken"
.参数 ProcessHandle, 整数型
.参数 DesiredAccess, 整数型
.参数 TokenHandle, 整数型, 传址
.DLL命令 API_恢复权限, 逻辑型, "advapi32.dll", "LookupPrivilegeValueA"
.参数 lpSystemName, 文本型
.参数 lpName, 文本型
.参数 lpLuid, LuID, 传址
.DLL命令 API_获取令牌特权, 逻辑型, "advapi32.dll", "AdjustTokenPrivileges"
.参数 TokenHandle, 整数型
.参数 DisableAllPrivileges, 整数型
.参数 NewState, TOKEN_PRIVILEGES, 传址
.参数 BufferLength, 整数型
.参数 PreviousState, TOKEN_PRIVILEGES, 传址
.参数 ReturnLength, 整数型, 传址
.DLL命令 API_创建进程快照, 整数型, , "CreateToolhelp32Snapshot", , 创建进程快照
.参数 falg, 整数型
.参数 id, 整数型
.DLL命令 API_第一个进程, 整数型, , "Process32First", , 第一个进程
.参数 hSnapShot, 整数型, , 进程快照句柄
.参数 uProcess, PROCESSENTRY32, , 用来装载进程信息结构体
.DLL命令 API_下一个进程, 整数型, , "Process32Next", , 下一个进程
.参数 hSnapShot, 整数型
.参数 uProcess, PROCESSENTRY32
.DLL命令 API_获取模块全路径名, 整数型, "Psapi.dll", "GetModuleFileNameExA", , 获取进程模块全路径名
.参数 hProcess, 整数型, , 进程句柄
.参数 hModule, 整数型, , 0
.参数 lpFilename, 文本型, , 装载文件名的变量
.参数 nSize, 整数型, , 文件名长度
.DLL命令 API_第一个线程, 逻辑型, "Kernel32.dll", "Thread32First", 公开, 下一个线程Thread32First
.参数 快照句柄, 整数型
.参数 线程入口结构, 线程入口结构, 传址
.DLL命令 API_下一个线程, 逻辑型, "Kernel32.dll", "Thread32Next", 公开, 下一个线程
.参数 快照句柄, 整数型
.参数 线程入口结构, 线程入口结构
.DLL命令 API_枚举任务窗口, 整数型, "user32.dll", "EnumThreadWindows", , 枚举与指定任务(进程标识符)相关的窗口 非零表示成功,零表示失败
.参数 线程标识符, 整数型, , 某线程的标识符,它的窗口将被枚举
.参数 函数指针, 子程序指针, , 指向一个函数的指针,要求为每个子窗口都调用这个函数。用AddressOf运算符获得函数在标准模式下的地址
.参数 自定义数值, 整数型, , 在枚举期间,传递给dwcbkd32d.ocx定制控件之EnumWindows事件的值。这个值的含义是由程序员规定的
.DLL命令 API_取父窗口, 整数型, "user32.dll", "GetParent", , 判断指定窗口的父窗口 父窗口的句柄。如窗口没有父,或遇到错误,则返回零。会设置GetLastError
.参数 窗口句柄, 整数型, , 欲测试的窗口的句柄
.DLL命令 API_关闭句柄, 整数型, , "CloseHandle", , 关闭一个内核对象,如其中包括文件、文件映射、进程、线程、security和同步对象建立后关闭
.参数 hObject, 整数型, , 对象句柄
.DLL命令 API_获取窗口的进程标识符, 整数型, , "GetWindowThreadProcessId", , 获取窗口的进程/线程ID,返回线程ID,将进程ID存入参数hProcessID进程标识符
.参数 hwnd, 整数型, , 窗口句柄
.参数 hProcessID, 整数型, 传址, 存入返回进程ID,进程标识符
.DLL命令 API_取当前活动的窗口句柄, 整数型, , "GetForegroundWindow", , 获取当前活动窗口
.DLL命令 API_GetActiveWindow, 整数型, , "GetActiveWindow"
.DLL命令 API_EnumWindows, , , "EnumWindows", , 枚举所有屏幕上的顶层窗口 枚举顶级窗口
.参数 lpEnumFunc, 子程序指针, , 回调函数指针
.参数 lPararm, 整数型, , 回调函数的应用程序定义值
.DLL命令 API_获取窗口标题, 整数型, , "GetWindowTextA", , 通过HWND获取窗口标题
.参数 hwnd, 整数型, , 窗口句柄ID
.参数 lpString, 文本型, 传址, 装载标题的变量(指针)
.参数 nMaxCount, 整数型, , 可保存在缓冲区内的字符的最大个数
.DLL命令 API_获取窗口标题长度, 整数型, , "GetWindowTextLengthA"
.参数 hwnd
.DLL命令 API_IsWindowVisible, 逻辑型, , "IsWindowVisible", , 获取窗口是否显示
.参数 hwnd, 整数型, , 窗口句柄ID
.DLL命令 API_GetWindowLong, 整数型, , "GetWindowLongA", , 获取窗口信息结构
.参数 hwnd, 整数型, , 窗口句柄
.参数 lParam, 整数型
.DLL命令 API_GetWindow, 整数型, , "GetWindow", , 回与指定窗口有特定关系(如Z序或所有者)的窗口句柄
.参数 hwnd, 整数型, , :窗口句柄,要获得的窗口句柄是依据nCmd参数值相对于这个窗口的句柄
.参数 lParam, 整数型, , 说明指定窗口与要获得句柄的窗口之间的关系
.DLL命令 API_RegOpenKey, 整数型, , "RegOpenKeyA", , 打开一个注册表项,返回是否成功(逻辑),装载此项/键的句柄到Result,请用RegCloseKey()关闭注册表项
.参数 hKey, 整数型, , 已打开键的句柄
.参数 lpSubKey, 文本型, 传址, 子键名称:列:“SOFTWARE\Microsoft\Windows\CurrentVersion\Run”
.参数 Result, 整数型, 传址, 装载此项的句柄(值)
.DLL命令 API_RegCloseKey, 整数型, , "RegCloseKey", , 关闭注册表项
.参数 hKey, 整数型, , 关闭的项句柄
.DLL命令 API_RegEnumValue, 整数型, , "RegEnumValueA", , 枚举注册表项的值,返回值Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
.参数 hKey, 整数型, , Long,一个已打开项的句柄,或者指定一个标准项名
.参数 dwIndex, 整数型, , Long,欲获取值的索引。注意第一个值的索引编号为零
.参数 lpName, 文本型, 传址, String,用于装载位于指定索引处值名的一个缓冲区,传址
.参数 cN, 整数型, 传址, Long,用于装载lpValueName缓冲区长度的一个变量。一旦返回,它会设为实际载入缓冲区的字符数量
.参数 what, 整数型, , Long,未用;设为零
.参数 lpType, 整数型, 传址, Long,用于装载值的类型代码的变量
.参数 lpDate, 字节集, 传址, Byte,用于装载值数据的一个缓冲区
.参数 DcN, 整数型, 传址, Long,用于装载lpData缓冲区长度的一个变量。一旦返回,它会设为实际载入缓冲区的字符数量
.DLL命令 API_RegEnumKey, 整数型, , "RegEnumKeyA", , 注册表_枚举返回值Long,零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
.参数 hKey, 整数型, , Long,一个已打开项的句柄,或者指定一个标准项名
.参数 dwIndex, 整数型, , Long,欲获取的子项的索引。第一个子项的索引编号为零
.参数 lpName, 文本型, 传址, String,用于装载指定索引处项名的一个缓冲区
.参数 cbName, 整数型, , lpName缓冲区的长度
.DLL命令 API_GetWindowInfo, 逻辑型, , "GetWindowInfo"
.参数 hwnd, 整数型
.参数 pwi, WINDOWINFO, , '结构体
.DLL命令 API_IsWindow, 逻辑型, , "IsWindow", 公开
.参数 hWnd, 整数型
.DLL命令 API_GetWindowPlacement, , , "GetWindowPlacement", , 获窗口状态
.参数 hWnd, 整数型
.参数 lpwndpl, WINDOWPLACEMENT, 传址
.DLL命令 API_ShowWindow, , , "ShowWindow", 公开
.参数 hWnd, 整数型
.参数 nCmdShow, 整数型
.DLL命令 API_IsProcessInJob, 整数型, , "IsProcessInJob", , 该IsProcessInJob函数确定进程是否在指定的工作运行。
.参数 ProcessHandle, 整数型
.参数 JobHandle, 整数型
.参数 Result, 逻辑型
.DLL命令 API_GetForegroundWindow, 整数型, , "GetForegroundWindow", 公开, 获取当前窗口句柄SetForegroundWindow
.DLL命令 API_SetForegroundWindow, , , "SetForegroundWindow", 公开, 设置为当前活动窗口
.参数 hwn, 整数型
易语言卷帘工具箱源码,初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言两个文件内存中通讯源码,子程序1,打开文件,生成空文件,生成重复字节文件,移到文件首,移到文件尾,移动读写位置,取读写位置,关闭文件,取文件长度,写出字节集,是否在文件尾,取错...
易语言易模块管理器Include目录源码,CopyTo_CreateProcessDebugInfo,CopyTo_CreateThreadDebugInfo,CopyTo_ExitThreadDebugInfo,CopyTo_ExitProcessDebugInfo,CopyTo_LoadDllDebugInfo,CopyTo_UnloadDllDebugInfo,CopyTo_ExceptionDebugInfo,Copy...
易语言卷帘工具箱源码,初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...
子程序1,打开文件,生成空文件,生成重复字节文件,移到文件首,移到文件尾,移动读写位置,取读写位置,关闭文件,取文件长度,写出字节集,是否在文件尾,取错误信息,读入字节集,读入2M字节集,清除文件缓冲区,读入文本,写出文本,写文本行,读入一行,插入字节集,取文件号...
初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...