易语言切换桌面工具源码
系统结构:NewWinProc,API_RegCreateKeyEx,API_TerminateProcess,API_RegSetValueEx_文本,API_RegCloseKey,API_OpenProcess,API_创建进程列表快照,API_第一个进程,API_下一个进程,API_添加菜单项,API_关闭内核对象,API_创建空白弹出式菜单,API_取鼠标位置,API_弹出菜单,API_清除菜单,API_SetWindowLong,API_CallWindowProc,API_RegOpenKeyEx,API_RegQueryValueEx,API_RegisterWindowMessage,
======窗口程序集1
| |
| |------ _按钮_切换_被单击
| |
| |------ _按钮_还原_被单击
| |
| |------ _按钮_添加_被单击
| |
| |------ _按钮_删除_被单击
| |
| |------ __启动窗口_创建完毕
| |
| |------ __启动窗口_将被销毁
| |
| |------ __启动窗口_位置被改变
| |
| |------ __启动窗口_托盘事件
| |
| |------ NewWinProc
| |
| |
======操作
| |
| |------ _添加记录
| |
| |------ _读数据库
| |
| |------ _还原桌面
| |
| |------ _切换桌面
| |
| |------ _进程名取ID
| |
| |------ _修改文本注册项
| |
| |------ _修改环境变量注册项
| |
| |------ _删除记录
| |
| |------ _读注册项
| |
| |
======调用的Dll
| |
| |---[dll]------ API_RegCreateKeyEx
| |
| |---[dll]------ API_TerminateProcess
| |
| |---[dll]------ API_RegSetValueEx_文本
| |
| |---[dll]------ API_RegCloseKey
| |
| |---[dll]------ API_OpenProcess
| |
| |---[dll]------ API_创建进程列表快照
| |
| |---[dll]------ API_第一个进程
| |
| |---[dll]------ API_下一个进程
| |
| |---[dll]------ API_添加菜单项
| |
| |---[dll]------ API_关闭内核对象
| |
| |---[dll]------ API_创建空白弹出式菜单
| |
| |---[dll]------ API_取鼠标位置
| |
| |---[dll]------ API_弹出菜单
| |
| |---[dll]------ API_清除菜单
| |
| |---[dll]------ API_SetWindowLong
| |
| |---[dll]------ API_CallWindowProc
| |
| |---[dll]------ API_RegOpenKeyEx
| |
| |---[dll]------ API_RegQueryValueEx
| |
| |---[dll]------ API_RegisterWindowMessage
调用的DLL命令:
.DLL命令 API_RegCreateKeyEx, 整数型, "advapi32.dll", "RegCreateKeyExA", , 在指定项下创建新项的更复杂的方式。在Win32环境中建议使用这个函数。如指定的项已经存在,则函数会打开现有的项 零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
.参数 hKey, 整数型, , 一个打开项的句柄,或者一个标准项名
.参数 lpSubKey, 文本型, , 欲创建的新子项的名字
.参数 Reserved, 整数型, , 设为零
.参数 lpClass, 文本型, , 项的类名
.参数 dwOptions, 整数型, , 下述常数为零:REG_OPTION_VOLATILE——这个项不正式保存下来,系统重新启动后会消失
.参数 samDesired, 整数型, , 带有前缀KEY_??的一个或多个常数。它们组合起来描述了允许对这个项进行哪些操作
.参数 lpSecurityAttributes, , , SECURITY_ATTRIBUTES,对这个项的security特性进行描述的一个结构(用ByVal As Long传递空值)。不适用于windows 95
.参数 phkResult, 整数型, 传址, 指定用于装载新子项句柄的一个变量
.参数 lpdwDisposition, 整数型, 传址, 用于装载下列某个常数的一个变量:REG_CREATED_NEW_KEY——新建的一个子项REG_OPENED_EXISTING_KEY——打开一个现有的项 ;
.DLL命令 API_TerminateProcess, 整数型, "kernel32", "TerminateProcess", , 结束一个进程 非零表示成功,零表示失败。会设置GetLastError
.参数 hProcess, 整数型, , 指定要中断的一个进程的句柄
.参数 uExitCode, 整数型, , 进程的一个退出代码;
.DLL命令 API_RegSetValueEx_文本, 整数型, "advapi32.dll", "RegSetValueExA", , 设置指定项的值 零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
.参数 hKey, 整数型, , 一个已打开项的句柄,或指定一个标准项名
.参数 lpValueName, 文本型, , 要设置值的名字
.参数 Reserved, 整数型, , 未用,设为零
.参数 dwType, 整数型, , 要设置的数量类型
.参数 lpData, 文本型, 传址, 包含数据的缓冲区中的第一个字节
.参数 cbData, 整数型, , lpData缓冲区的长度;
.DLL命令 API_RegCloseKey, 整数型, "advapi32.dll", "RegCloseKey", , 关闭系统注册表中的一个项(或键) 零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
.参数 hKey, 整数型, , 要关闭的项;
.DLL命令 API_OpenProcess, 整数型, "kernel32", "OpenProcess", , 将句柄返回给过程对象
.参数 dwDesiredAccess, 整数型, , 权限
.参数 bInheritHandle, 整数型, , 继承
.参数 dwProcessId, 整数型, , PID
.DLL命令 API_创建进程列表快照, 整数型, "KERNEL32.DLL", "CreateToolhelp32Snapshot"
.参数 类型, 整数型
.参数 进程标识符, 整数型
.DLL命令 API_第一个进程, 整数型, "KERNEL32.DLL", "Process32First"
.参数 hSnapshot, 整数型
.参数 lppe, _进程信息, 传址
.DLL命令 API_下一个进程, 整数型, "KERNEL32.DLL", "Process32Next"
.参数 hSnapshot, 整数型
.参数 lppe, _进程信息, 传址
.DLL命令 API_添加菜单项, 整数型, "user32", "AppendMenuA"
.参数 菜单句柄, 整数型
.参数 菜单常数标志, 整数型
.参数 新菜单条目ID, 整数型
.参数 标志值, 文本型
.DLL命令 API_关闭内核对象, 整数型, "kernel32", "CloseHandle", , 关闭一个内核对象。其中包括文件、文件映射、进程、线程、security和同步对象等。涉及文件处理时,这个函数通常与vb的close命令相似。应尽可能的使用close,因为它支持vb的差错控制。注意这个函数使用的文件句柄与vb的文件编号是完全不同的 非零表示成功,零表示失败。会设置GetLastError
.参数 对象句柄, 整数型, , 欲关闭的一个对象的句柄;
.DLL命令 API_创建空白弹出式菜单, 整数型, "user32", "CreatePopupMenu"
.DLL命令 API_取鼠标位置, 整数型, "user32", "GetCursorPos"
.参数 位置, POINTAPI
.DLL命令 API_弹出菜单, 整数型, "user32", "TrackPopupMenuEx"
.参数 hMenu, 整数型
.参数 un, 整数型
.参数 n1, 整数型
.参数 n2, 整数型
.参数 hWnd, 整数型
.参数 lpTPMParams
.DLL命令 API_清除菜单, 整数型, "user32", "DestroyMenu"
.参数 预删除的菜单, 整数型
.DLL命令 API_SetWindowLong, 整数型, "user32", "SetWindowLongA"
.参数 hwnd, 整数型
.参数 nIndex, 整数型
.参数 dwNewLong, 整数型
.DLL命令 API_CallWindowProc, 整数型, "user32", "CallWindowProcA"
.参数 lpPrevWndFunc, 整数型
.参数 hwnd, 整数型
.参数 msg, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.DLL命令 API_RegOpenKeyEx, 整数型, "advapi32.dll", "RegOpenKeyExA", , 打开一个现有的项。在win32下推荐使用这个函数 零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
.参数 hKey, 整数型, , 一个已打开项的句柄,或指定一个标准项名
.参数 lpSubKey, 文本型, , 欲打开注册表项的名字
.参数 ulOptions, 整数型, , 未用,设为零
.参数 samDesired, 整数型, , 带有前缀KEY_??的一个或多个常数。它们的组合描述了允许对这个项进行哪些操作
.参数 phkResult, 整数型, 传址, 用于装载打开项的名字的一个变量;
.DLL命令 API_RegQueryValueEx, 整数型, "advapi32.dll", "RegQueryValueExA", , 获取一个项的设置值 零(ERROR_SUCCESS)表示成功。其他任何值都代表一个错误代码
.参数 hKey, 整数型, , 一个已打开项的句柄,或者指定一个标准项名
.参数 lpValueName, 文本型, , 要获取值的名字
.参数 lpReserved, 整数型, , 未用,设为零
.参数 lpType, 整数型, 传址, 用于装载取回数据类型的一个变量
.参数 lpData, 字节型, 数组, 用于装载指定值的一个缓冲区
.参数 lpcbData, 整数型, 传址, 用于装载lpData缓冲区长度的一个变量。一旦返回,它会设为实际装载到缓冲区的字节数;
.DLL命令 API_RegisterWindowMessage, 整数型, "user32", "RegisterWindowMessageA"
.参数 lpString, 文本型
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。