# Jscm-Core-FrameWork **Repository Path**: SnailcatMall/Jscm-Core-FrameWork ## Basic Information - **Project Name**: Jscm-Core-FrameWork - **Description**: Jscm框架是一个基于Java JNI的Windows系统操作框架,提供了丰富的Windows API封装,包括窗口操作、进程线程管理、内存操作、注册表操作、热键驱动等功能。本框架集成了三大模块进行处理,参考了精易模块、超级模块、乐易模块的设计思想,为Java开发者提供了强大的Windows系统底层操作能力。 框架支持X86和X64平台,包含DD键鼠驱动、幽灵键鼠驱动等硬件抽象层功能,同时提供了 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: https://www.snailcatmall.com/ - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 0 - **Created**: 2026-02-21 - **Last Updated**: 2026-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: Jscm-Core框架, JNI开源框架 ## README # SCM JNI API 接口详细文档 > 生成时间: 2026-04-01 > 总文件数: 200+ Java文件 > 总代码行数: 约50,000+ 行 --- ## 目录 1. [核心导出模块 (com.scm.all.export)](#1-核心导出模块-comscmallexport) 2. [Windows 64位操作模块 (com.scm.x64.export)](#2-windows-64位操作模块-comscmx64export) 3. [Windows 32位操作模块 (com.scm.x86.export)](#3-windows-32位操作模块-comscmx86export) 4. [AI模块 (com.scm.all.AI)](#4-ai模块-comscmallai) 5. [组件模块 (com.scm.all.component)](#5-组件模块-comscmallcomponent) 6. [数据结构模块 (com.scm.all.struct)](#6-数据结构模块-comscmallstruct) 7. [回调函数模块 (com.scm.all.pfunc)](#7-回调函数模块-comscmallpfunc) 8. [枚举模块 (com.scm.all.enumBox)](#8-枚举模块-comscmallenumb) --- ## 1. 核心导出模块 (com.scm.all.export) ### 1.1 ModuleOperationUtilsJNI - JNI接口入口类 **包名**: `com.scm.all.export` **说明**: 公开JNI接口,是所有Windows操作的入口类,封装了DLL加载和系统检测功能。 #### 系统检测方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `systemIs32()` | boolean | 无 | 判断系统是否为32位 | | `systemIs64()` | boolean | 无 | 判断系统是否为64位 | | `tileDir()` | String | 无 | 获取DLL所在目录 | #### 窗口操作方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `FindWindowW(String, String)` | int | 类名,标题 | 查找窗口句柄 | | `FindWindowExW(int, int, String, String)` | int | 父窗口,子窗口,类名,标题 | 查找子窗口 | | `SetWindowLongW(int, int, int)` | long | 句柄,索引,值 | 设置窗口属性 | | `GetWindowLongW(int, int)` | long | 句柄,索引 | 获取窗口属性 | | `SetParent(int, int)` | int | 子窗口,父窗口 | 设置父窗口 | | `GetParent(int)` | int | 窗口句柄 | 获取父窗口句柄 | | `ShowWindow(int, int)` | boolean | 句柄,显示状态 | 显示/隐藏窗口 | | `SetWindowTextW(int, String)` | boolean | 句柄,标题 | 设置窗口标题 | | `GetWindowTextW(int)` | String | 窗口句柄 | 获取窗口标题 | | `GetWindowRect(int, TagRect)` | boolean | 句柄,矩形结构 | 获取窗口矩形 | | `GetClientRect(int, TagRect)` | boolean | 句柄,矩形结构 | 获取客户区矩形 | | `MoveWindow(int, int, int, int, boolean)` | boolean | 句柄,x,y,宽,高,重绘 | 移动窗口 | | `SetWindowPos(int, int, int, int, int, int)` | boolean | 句柄,插入点,x,y,宽,高,标志 | 设置窗口位置 | | `SendMessageW(int, int, int, int)` | int | 句柄,消息,wParam,lParam | 发送消息 | | `PostMessageW(int, int, int, int)` | boolean | 句柄,消息,wParam,lParam | 投递消息 | | `SendMessageTimeoutW(int, int, int, int, int, int, byte[])` | int | 句柄,消息,wParam,lParam,标志,超时,结果 | 超时发送消息 | | `EnumWindows(JscmCallBack, int)` | boolean | 回调,数据 | 枚举所有窗口 | | `GetDesktopWindow()` | int | 无 | 获取桌面窗口句柄 | | `GetForegroundWindow()` | int | 无 | 获取前台窗口句柄 | | `SetForegroundWindow(int)` | boolean | 窗口句柄 | 设置前台窗口 | | `IsWindowVisible(int)` | boolean | 窗口句柄 | 判断窗口是否可见 | | `GetWindowThreadProcessId(int, int[])` | int | 窗口句柄,进程ID数组 | 获取窗口所属进程ID | #### 鼠标键盘操作方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `SetCursorPos(int, int)` | boolean | x,y | 设置鼠标位置 | | `GetCursorPos(TagPoint)` | boolean | 坐标点 | 获取鼠标位置 | | `mouse_event(int, int, int, int, int)` | void | 标志,dx,dy,dwExtra,时间 | 模拟鼠标事件 | | `keybd_event(int, byte, int)` | void | 虚拟键码,扫描码,标志 | 模拟键盘事件 | | `SendInput(int, TagINPUT[], int)` | int | 按键数量,输入数组,大小 | 发送输入事件 | #### 内存操作方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `OpenProcess(int, boolean, int)` | int | 访问标志,继承,进程ID | 打开进程 | | `CloseHandle(int)` | boolean | 句柄 | 关闭句柄 | | `ReadProcessMemory(int, long, byte[], int, int[])` | boolean | 进程,地址,缓冲区,大小,已读 | 读进程内存 | | `WriteProcessMemory(int, long, byte[], int, int[])` | boolean | 进程,地址,数据,大小,已写 | 写进程内存 | | `VirtualQueryEx(int, long, TagPmemory_Basic_InfoRmationX64, int)` | int | 进程,地址,内存信息,大小 | 查询内存信息 | | `VirtualProtectEx(int, long, long, int)` | int | 进程,地址,大小,保护属性 | 修改内存保护 | #### 进程线程操作方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `CreateToolhelp32Snapshot(int, int)` | int | 标志,进程ID | 创建进程快照 | | `Process32First(int, TagProcessenTry32)` | boolean | 快照,进程入口 | 获取首个进程 | | `Process32Next(int, TagProcessenTry32)` | boolean | 快照,进程入口 | 获取下个进程 | | `Thread32First(int, TagThreadEntry32)` | boolean | 快照,线程入口 | 获取首个线程 | | `Thread32Next(int, TagThreadEntry32)` | boolean | 快照,线程入口 | 获取下个线程 | | `OpenThread(int, boolean, int)` | int | 访问标志,继承,线程ID | 打开线程 | | `CreateRemoteThread(int, long, long, int, int, int[])` | int | 进程,入口,参数,创建标志,标志,线程ID | 创建远程线程 | | `TerminateThread(int, int)` | boolean | 线程句柄,退出代码 | 终止线程 | | `SuspendThread(int)` | int | 线程句柄 | 挂起线程 | | `ResumeThread(int)` | int | 线程句柄 | 恢复线程 | #### 模块操作方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `Module32First(int, TagModuleenTryX64)` | boolean | 快照,模块入口 | 获取首个模块 | | `Module32Next(int, TagModuleenTryX64)` | boolean | 快照,模块入口 | 获取下个模块 | | `GetModuleHandleW(String)` | int | 模块名 | 获取模块句柄 | | `GetProcAddress(int, String)` | long | 模块,函数名 | 获取函数地址 | #### 注册表操作方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `RegOpenKeyExW(int, String, int, int, int[])` | int | 根键,子键,选项,访问,句柄 | 打开注册表键 | | `RegCloseKey(int)` | int | 句柄 | 关闭注册表键 | | `RegQueryValueExW(int, String, int, int[], byte[])` | int | 键,值名,类型,数据,缓冲区 | 查询注册表值 | | `RegSetValueExW(int, String, int, int, byte[])` | int | 键,值名,类型,数据,大小 | 设置注册表值 | | `RegDeleteKeyW(int, String)` | int | 键,子键 | 删除注册表键 | | `RegCreateKeyExW(int, String, int, int, int[], int[], int[])` | int | 根键,子键,选项,访问,安全,句柄,Disposition | 创建注册表键 | --- ### 1.2 WindowOperationUtils - 窗口操作工具类 **包名**: `com.scm.all.export` **说明**: 窗体操作工具类,封装了常用窗口操作功能。 #### 窗口操作方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `windowInvalidateRect(int, boolean)` | boolean | 句柄,是否重绘 | 窗口重画 | | `windowSetWindowLongW(int)` | long | 窗口句柄 | 窗口隐藏任务按钮 | | `windowGetDesktopWindow()` | long | 无 | 获取屏幕窗口句柄 | | `windowSendMessageTimeoutW(int)` | boolean | 窗口句柄 | 窗口是否响应 | | `windowGetCaretPos(TagPoint)` | boolean | 坐标点 | 获取窗口光标坐标 | | `enumWindowClose(String, String)` | void | 类名,标题 | 枚举循环关闭窗口 | | `getClientPoint(int)` | TagPoint | 窗口句柄 | 获取客户端句柄内鼠标坐标 | | `windowEmbeddedDesktop(int)` | boolean | 窗口句柄 | 嵌入桌面 | | `WindowEmbeddedWindow(int, int)` | boolean | 窗口句柄,父窗口 | 嵌入指定句柄 | | `GetWorkerW()` | int | 无 | 获取桌面句柄 | | `windowSetParent(int, int)` | boolean | 父窗口,子窗口 | 设置父窗口 | | `ClientToScreenPos(int, long, long)` | TagPoint | 父窗口,x,y | 客户端坐标转屏幕坐标 | | `ScreenToClientPos(int, long, long)` | TagPoint | 父窗口,x,y | 屏幕坐标转客户端坐标 | | `SetChildScreenPos(int, int, int, int, int, int)` | void | 父窗口,子窗口,x,y,宽,高 | 设置子窗口屏幕位置 | | `UpdateChildWindowPos(int, int, int, int)` | void | 父,子,右下X偏移,右下Y偏移 | 更新子窗口位置 | | `GetSwingWindowHandle(Component)` | int | 组件对象 | 获取Swing窗口句柄 | | `SetChildToBottom(int)` | void | 子窗口句柄 | 设置子窗口到底部 | | `GetChildScreenPos(int, int)` | TagPoint | 父窗口,子窗口 | 获取子窗口屏幕位置 | | `SetChildPosAlignScreen(int, int, int, int, int, int)` | void | 父窗口,子窗口,目标x,y,宽,高 | 设置子窗口位置对齐屏幕 | | `windowSetLocationSize(int, int, int, int, int)` | int | 句柄,左,上,宽,高 | 设置窗口位置和大小 | | `windowGetDlgCtrlID(int)` | int | 子窗口句柄 | 获取控件ID | | `windowGetDlgItem(int, int)` | int | 父窗口,控件ID | 获取控件句柄 | | `windowSetAlpha(int, int)` | boolean | 句柄,透明度 | 设置窗口透明度 | | `windowActivation(int)` | int | 窗口句柄 | 激活窗口 | | `windowReduction(int)` | boolean | 窗口句柄 | 窗口最小化 | | `windowTop(int, int, int)` | boolean | 句柄,是否激活,标志 | 窗口置顶 | | `windowClose(int)` | boolean | 窗口句柄 | 关闭窗口 | | `windowStringWidth(int, String)` | int | 句柄,字符串 | 获取字符串宽度 | | `windowSetParent2(int, int, int, int, int, int)` | int | 父窗口,子窗口,x,y,宽,高 | 设置父窗口(带位置) | | `windowGetHwnd(int, int, String, String)` | int | 父窗口,子窗口,类名,标题 | 获取窗口句柄 | | `windowGetPoint(int)` | TagPoint | 窗口句柄 | 获取窗口位置 | | `windowGetRectToSize(int)` | TagRectSize | 窗口句柄 | 获取窗口矩形 | | `windowGetcomponentXY(int)` | TagPoint | 窗口句柄 | 获取组件坐标 | | `windowSetFocus(int)` | int | 窗口句柄 | 设置焦点 | | `windowGetTitle(int)` | String | 窗口句柄 | 获取窗口标题 | | `windowSetTitle(int, String)` | int | 句柄,标题 | 设置窗口标题 | | `windowGetClassName(int)` | String | 窗口句柄 | 获取窗口类名 | | `windowSetState(int, int)` | int | 句柄,状态 | 设置窗口状态 | | `windowSetMaximize(int, boolean)` | void | 句柄,无边框 | 窗口最大化 | | `windowSetMinimize(int)` | int | 窗口句柄 | 窗口最小化 | | `windowSetRoundedCorners(int, int, int)` | void | 句柄,圆角宽,圆角高 | 设置圆角 | | `windowGetDlgCtrlSize(int)` | int[] | 窗口句柄 | 获取控件尺寸 | | `windowGetRootHwnd(int)` | int | 窗口句柄 | 获取根窗口句柄 | | `windowGetFatherHwnd(int)` | int | 窗口句柄 | 获取父窗口句柄 | | `windowIsShow(int)` | int | 窗口句柄 | 窗口是否显示 | | `windowIsShowHide(int, int)` | int | 句柄,是否隐藏 | 窗口显示/隐藏 | | `windowGetAlpha(int)` | int | 窗口句柄 | 获取窗口透明度 | --- ### 1.3 SystemUtils - 系统工具类 **包名**: `com.scm.all.export` **说明**: 系统工具类,提供系统信息获取和系统操作功能。 #### 系统信息方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `getSystemInfo()` | String | 无 | 获取系统信息 | | `getComputerName()` | String | 无 | 获取计算机名 | | `getUserName()` | String | 无 | 获取用户名 | | `getSystemDirectory()` | String | 无 | 获取系统目录 | | `getWindowsDirectory()` | String | 无 | 获取Windows目录 | | `getTempPath()` | String | 无 | 获取临时目录 | | `getProgramFilesPath()` | String | 无 | 获取程序文件目录 | | `getProgramFilesDir()` | String | 无 | 获取x86程序文件目录 | | `getSystemDrive()` | String | 无 | 获取系统驱动器 | | `getOsVersion()` | String | 无 | 获取操作系统版本 | #### 进程操作方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `getCurrentProcessId()` | int | 无 | 获取当前进程ID | | `getCurrentThreadId()` | int | 无 | 获取当前线程ID | | `getProcessId(int)` | int | 窗口句柄 | 获取进程ID | | `getThreadId(int)` | int | 窗口句柄 | 获取线程ID | | `isProcessRunning(int)` | boolean | 进程ID | 判断进程是否运行 | | `killProcess(int)` | boolean | 进程ID | 终止进程 | | `runAsAdmin(String)` | boolean | 程序路径 | 以管理员运行 | --- ### 1.4 ProcessAndThreadUtils - 进程线程工具类 **包名**: `com.scm.all.export` **说明**: 进程和线程操作工具类。 #### 进程操作方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `getAllProcesses()` | List | 无 | 获取所有进程 | | `findProcess(String)` | List | 进程名 | 查找进程 | | `getProcessPath(int)` | String | 进程ID | 获取进程路径 | | `getProcessName(int)` | String | 进程ID | 获取进程名 | #### 线程操作方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `getProcessThreads(int)` | List | 进程ID | 获取进程所有线程 | | `getThreadPriority(int)` | int | 线程句柄 | 获取线程优先级 | | `setThreadPriority(int, int)` | boolean | 线程句柄,优先级 | 设置线程优先级 | --- ### 1.5 ByteUtils - 字节工具类 **包名**: `com.scm.all.export` **说明**: 字节数组处理工具类。 #### 字节转换方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `intToBytes(int)` | byte[] | 整数 | 整数转字节数组 | | `bytesToInt(byte[])` | int | 字节数组 | 字节数组转整数 | | `longToBytes(long)` | byte[] | 长整数 | 长整数转字节数组 | | `bytesToLong(byte[])` | long | 字节数组 | 字节数组转长整数 | | `shortToBytes(short)` | byte[] | 短整数 | 短整数转字节数组 | | `bytesToShort(byte[])` | short | 字节数组 | 字节数组转短整数 | | `hexToBytes(String)` | byte[] | 十六进制字符串 | 十六进制转字节数组 | | `bytesToHex(byte[])` | String | 字节数组 | 字节数组转十六进制 | --- ### 1.6 IniConfigurationOperationUtils - INI配置操作工具类 **包名**: `com.scm.all.export` **说明**: INI配置文件读写工具类。 #### 配置操作方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `readIni(String, String, String, String)` | String | 文件路径,节,键,默认值 | 读取INI配置 | | `writeIni(String, String, String, String)` | boolean | 文件路径,节,键,值 | 写入INI配置 | | `deleteIniKey(String, String, String)` | boolean | 文件路径,节,键 | 删除INI键 | | `deleteIniSection(String, String)` | boolean | 文件路径,节 | 删除INI节 | --- ### 1.7 PathFileJSCM - 路径文件工具类 **包名**: `com.scm.all.export` **说明**: 路径和文件处理工具类。 #### 路径操作方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `getDebugFile32()` | String | 无 | 获取32位调试文件路径 | | `getDebugFile64()` | String | 无 | 获取64位调试文件路径 | | `setDebugFile32(String)` | void | 路径 | 设置32位调试文件路径 | | `setDebugFile64(String)` | void | 路径 | 设置64位调试文件路径 | | `isIsDebug()` | boolean | 无 | 是否调试模式 | --- ### 1.8 ImageEditorTool - 图像编辑工具类 **包名**: `com.scm.all.component` **说明**: 图像编辑工具类,支持图片处理和导出。 #### 图像操作方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `renderToBytes(String)` | byte[] | 格式 | 渲染并返回指定格式的byte[] | | `renderToBytesPNG()` | byte[] | 无 | 渲染并返回PNG格式的byte[] | | `renderToSVG()` | String | 无 | 渲染并返回SVG字符串 | | `renderToBytesSVG()` | byte[] | 无 | 渲染并返回SVG格式的byte[] | | `saveToFile(String, String)` | boolean | 路径,格式 | 保存到文件 | --- ### 1.9 AnimatedBorderEngine - 动画边框引擎 **包名**: `com.scm.all.component` **说明**: 多色渐变流光边框动画引擎。 #### 实例方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `setBorderWidth(int)` | void | 宽度 | 设置边框宽度 | | `setCornerRadius(int)` | void | 半径 | 设置圆角半径 | | `setSpeed(float)` | void | 速度 | 设置动画速度 | | `setColors(Color...)` | void | 颜色数组 | 设置边框颜色 | | `setLightStripLengthRatio(float)` | void | 比例 | 设置流光线段长度比例 | | `setLightStripLength(float)` | void | 像素长度 | 设置流光线段固定长度 | | `setEnableBreath(boolean)` | void | 是否启用 | 设置呼吸效果 | | `setMinAlpha(float)` | void | 最小透明度 | 设置最小透明度 | | `start()` | void | 无 | 启动动画 | | `stop()` | void | 无 | 停止动画 | | `isRunning()` | boolean | 无 | 是否正在运行 | | `update()` | void | 无 | 更新动画帧 | | `renderToBytes()` | byte[] | 无 | 渲染为PNG字节数组 | | `destroy()` | void | 无 | 销毁实例释放资源 | #### 静态工厂方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `create(int, int)` | Instance | 宽,高 | 创建动画引擎实例 | --- ### 1.10 WebDriverAutoJsonUtils - Web驱动自动化工具类 **包名**: `com.scm.all.export` **说明**: WebDriver自动化操作工具类。 #### Web操作方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `openBrowser(String)` | void | 浏览器类型 | 打开浏览器 | | `navigateTo(String)` | void | URL | 导航到URL | | `findElement(String)` | WebElement | 定位符 | 查找元素 | | `clickElement(String)` | void | 定位符 | 点击元素 | | `inputText(String, String)` | void | 定位符,文本 | 输入文本 | | `getText(String)` | String | 定位符 | 获取元素文本 | | `closeBrowser()` | void | 无 | 关闭浏览器 | --- ### 1.11 ColorUtils - 颜色工具类 **包名**: `com.scm.all.export` **说明**: 颜色处理工具类。 #### 颜色操作方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `hexToColor(String)` | Color | 十六进制颜色 | 十六进制转Color | | `colorToHex(Color)` | String | Color对象 | Color转十六进制 | | `rgbToHsl(int, int, int)` | float[] | R,G,B | RGB转HSL | | `hslToRgb(float, float, float)` | int[] | H,S,L | HSL转RGB | --- ### 1.12 CapStone - 反汇编工具类 **包名**: `com.scm.all.export.capstone` **说明**: CapStone反汇编引擎封装。 #### 反汇编方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `disasm(byte[], long)` | List | 字节码,地址 | 反汇编字节码 | | `disasm(String)` | List | 十六进制字符串 | 反汇编十六进制字符串 | --- ### 1.13 URLDateTimeUtils - URL日期时间工具类 **包名**: `com.scm.all.export` **说明**: URL编码和日期时间处理工具类。 #### 工具方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `urlEncode(String)` | String | 字符串 | URL编码 | | `urlDecode(String)` | String | 编码字符串 | URL解码 | | `getCurrentTimestamp()` | long | 无 | 获取当前时间戳 | | `formatDate(Date, String)` | String | 日期,格式 | 格式化日期 | | `parseDate(String, String)` | Date | 字符串,格式 | 解析日期 | --- ### 1.14 OverrideMethodUtils - 覆盖方法工具类 **包名**: `com.scm.all.export` **说明**: 方法覆盖工具类。 #### 工具方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `overrideMethod(Class, String, Class[], String)` | void | 类,方法名,参数类型,新方法体 | 覆盖类方法 | --- ### 1.15 VerificationCodeUtils - 验证码工具类 **包名**: `com.scm.all.export.VerificationCodeUtils` **说明**: 验证码生成工具类。 #### 验证码方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `generate(int, int)` | BufferedImage | 宽度,高度 | 生成验证码图片 | | `generateCode(int)` | String | 长度 | 生成验证码字符串 | --- ### 1.16 EMailUtils - 邮件工具类 **包名**: `com.scm.all.export.EmailUtils` **说明**: 邮件发送工具类。 #### 邮件方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `send(String, String, String, String, String)` | boolean | 收件人,主题,内容,发件人,密码 | 发送邮件 | | `sendWithAttachment(String, String, String, String, String, String)` | boolean | 收件人,主题,内容,发件人,密码,附件 | 发送带附件邮件 | --- ### 1.17 powerUtils - 高级工具模块 #### PowerShell - PowerShell执行工具 **包名**: `com.scm.all.export.powerUtils` | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `execute(String)` | String | 命令 | 执行PowerShell命令 | | `executeAsync(String, Consumer)` | void | 命令,回调 | 异步执行PowerShell | #### CommandShell - 命令行执行工具 **包名**: `com.scm.all.export.powerUtils` | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `exec(String)` | String | 命令 | 执行系统命令 | | `execWithResult(String)` | CommandResult | 命令 | 执行并获取结果 | --- ## 2. Windows 64位操作模块 (com.scm.x64.export) ### 2.1 MemoryOperationUtilsX64 - 64位内存操作工具类 **包名**: `com.scm.x64.export` **说明**: 64位系统内存操作工具类。 #### 内存查询方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `selectMemoryAddressAttribute(int, long)` | TagPmemory_Basic_InfoRmationX64 | 进程句柄,地址 | 查询内存属性 | | `selectMemoryAddressAttribute(int, long, TagPmemory_Basic_InfoRmationX64)` | int | 进程,地址,内存信息 | 查询内存属性(带结果) | | `updateMemoryAddressAttribute(int, long, long, int)` | int | 进程,地址,大小,属性 | 修改内存保护属性 | | `memoryAddressIsValid(int, long)` | boolean | 进程,地址 | 内存地址是否有效 | | `memoryAddressIsStatic(int, long)` | boolean | 进程,地址 | 是否为静态地址 | #### 内存读写方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `readMemoryBytes(int, long, int)` | byte[] | 进程,地址,长度 | 读取内存字节 | | `readMemoryInt(int, long)` | int | 进程,地址 | 读取整数 | | `readMemoryLong(int, long)` | long | 进程,地址 | 读取长整数 | | `readMemoryString(int, long, int)` | String | 进程,地址,长度 | 读取字符串 | | `writeMemoryBytes(int, long, byte[])` | boolean | 进程,地址,数据 | 写入字节 | | `writeMemoryInt(int, long, int)` | boolean | 进程,地址,值 | 写入整数 | | `writeMemoryLong(int, long, long)` | boolean | 进程,地址,值 | 写入长整数 | | `writeMemoryString(int, long, String)` | boolean | 进程,地址,字符串 | 写入字符串 | #### 内存搜索方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `searchMemory(int, long, long, byte[], MemoryCallBack)` | void | 进程,起始,结束,特征,回调 | 搜索内存 | | `findPattern(int, long, long, String)` | List | 进程,起始,结束,特征码 | 查找特征码 | --- ### 2.2 RegistryOperationUtilsX64 - 64位注册表操作工具类 **包名**: `com.scm.x64.export` **说明**: 64位系统注册表操作工具类。 #### 注册表操作方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `openKey(int, String)` | int | 根键,子键 | 打开注册表键 | | `createKey(int, String)` | int | 根键,子键 | 创建注册表键 | | `deleteKey(int, String)` | boolean | 根键,子键 | 删除注册表键 | | `queryValue(int, String)` | String | 键,值名 | 查询值 | | `setValue(int, String, String)` | boolean | 键,值名,数据 | 设置值 | | `deleteValue(int, String)` | boolean | 键,值名 | 删除值 | | `enumKeys(int)` | List | 键 | 枚举子键 | | `enumValues(int)` | Map | 键 | 枚举值 | --- ### 2.3 DebugBreakPointX64 - 64位调试断点工具类 **包名**: `com.scm.x64.export` **说明**: 64位系统调试和断点工具类。 #### 断点操作方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `setBreakPoint(int, long)` | boolean | 进程,地址 | 设置断点 | | `removeBreakPoint(int, long)` | boolean | 进程,地址 | 移除断点 | | `enableBreakPoint(int, long)` | boolean | 进程,地址 | 启用断点 | | `disableBreakPoint(int, long)` | boolean | 进程,地址 | 禁用断点 | --- ### 2.4 ApiHookOperationUtilsX64 - 64位API钩子工具类 **包名**: `com.scm.x64.export` **说明**: 64位系统API钩子工具类。 #### Hook操作方法 | 方法名 | 返回Type | 参数 | 说明 | |--------|----------|------|------| | `hookApi(String, String, long)` | boolean | 模块,函数,新地址 | 挂钩API | | `unhookApi(String, String)` | boolean | 模块,函数 | 取消挂钩 | | `getOriginalAddress(String, String)` | long | 模块,函数 | 获取原始地址 | --- ## 3. Windows 32位操作模块 (com.scm.x86.export) ### 3.1 MemoryOperationUtilsX86 - 32位内存操作工具类 **包名**: `com.scm.x86.export` **说明**: 32位系统内存操作工具类。API与64位版本类似,参数类型不同。 #### 主要方法 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `selectMemoryAddressAttribute(int, int)` | TagPmemory_Basic_InfoRmationX86 | 进程句柄,地址 | 查询内存属性 | | `readMemoryBytes(int, int, int)` | byte[] | 进程,地址,长度 | 读取内存 | | `writeMemoryBytes(int, int, byte[])` | boolean | 进程,地址,数据 | 写入内存 | --- ### 3.2 RegistryOperationUtilsX86 - 32位注册表操作工具类 **包名**: `com.scm.x86.export` **说明**: 32位系统注册表操作工具类。 --- ### 3.3 DebugBreakPointX86 - 32位调试断点工具类 **包名**: `com.scm.x86.export` **说明**: 32位系统调试和断点工具类。 --- ### 3.4 ApiHookOperationUtilsX86 - 32位API钩子工具类 **包名**: `com.scm.x86.export` **说明**: 32位系统API钩子工具类。 --- ## 4. AI模块 (com.scm.all.AI) ### 4.1 ClaudeCode - Claude Code工具包 **包名**: `com.scm.all.AI.ClaudeCode` #### ClaudeCodeToolkit - 主工具类 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `ClaudeCodeToolkit()` | 构造方法 | 无 | 使用默认配置创建 | | `ClaudeCodeToolkit(String)` | 构造方法 | 模型名 | 使用指定模型创建 | | `ClaudeCodeToolkit(OllamaConfig)` | 构造方法 | 配置对象 | 使用配置创建 | | `chat(String)` | String | 消息 | 发送聊天消息 | | `chat()` | String | 无 | 发送已添加的消息 | | `chatStream(Consumer)` | void | 回调 | 流式聊天 | | `addUserMessage(String)` | void | 消息 | 添加用户消息 | | `addAssistantMessage(String)` | void | 消息 | 添加助手消息 | | `addSystemMessage(String)` | void | 消息 | 添加系统消息 | | `clearMessages()` | void | 无 | 清空消息历史 | | `isAvailable()` | boolean | 无 | 检查服务是否可用 | | `close()` | void | 无 | 关闭客户端 | #### ClaudeCodeToolkitWithSkills - 技能增强版 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `registerSkill(Skill)` | void | 技能 | 注册自定义技能 | | `removeSkill(String)` | void | 技能名 | 移除技能 | | `getSkill(String)` | Skill | 技能名 | 获取技能 | | `listSkills()` | List | 无 | 列出所有技能 | --- #### OllamaClient - Ollama客户端 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `OllamaClient()` | 构造方法 | 无 | 使用默认配置 | | `OllamaClient(OllamaConfig)` | 构造方法 | 配置 | 使用配置 | | `OllamaClient(String)` | 构造方法 | 模型名 | 使用模型 | | `chat(ChatRequest)` | ChatResponse | 请求 | 发送聊天请求 | | `chat(String)` | ChatResponse | 消息 | 发送简单消息 | | `chatStream(ChatRequest, Consumer)` | void | 请求,回调 | 流式聊天 | | `chatWithImage(String, String)` | ChatResponse | 消息,图片Base64 | 图片聊天 | | `chatWithImages(String, List)` | ChatResponse | 消息,图片列表 | 多图聊天 | | `listModels()` | List | 无 | 获取模型列表 | | `isAvailable()` | boolean | 无 | 检查可用性 | #### CloudLLMClient - 云端大模型客户端 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `CloudLLMClient(CloudLLMConfig)` | 构造方法 | 配置 | 使用配置创建 | | `chat(String)` | String | 消息 | 发送聊天消息 | | `chat(List)` | String | 消息列表 | 发送多轮对话 | | `chatWithImage(String, String)` | String | 消息,图片Base64 | 图片聊天 | | `chatWithImages(String, List)` | String | 消息,图片列表 | 多图聊天 | --- ### 4.2 RunNingHubAI - RunningHub AI客户端 **包名**: `com.scm.all.AI.RunNingHubAI` #### RunningHubClient - RunningHub客户端 | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `RunningHubClient(String)` | 构造方法 | API密钥 | 创建客户端 | | `RunningHubClient(String, String)` | 构造方法 | API密钥,基础URL | 自定义URL | | `RunningHubClient(RunningHubConfig)` | 构造方法 | 配置对象 | 使用配置 | | `getConfig()` | RunningHubConfig | 无 | 获取配置 | | `workflow()` | WorkflowApi | 无 | 获取工作流API | | `webapp()` | WebappApi | 无 | 获取Web应用API | | `quickAIApp()` | QuickAIAppApi | 无 | 获取快速AI应用API | | `standardModel()` | StandardModelApi | 无 | 获取标准模型API | | `resource()` | ResourceApi | 无 | 获取资源API | #### WorkflowApi - 工作流API | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `createTask(WorkflowRequest)` | TaskCreateResponse | 请求 | 创建任务 | | `getTaskStatus(String)` | TaskStatus | 任务ID | 获取任务状态 | | `getTaskOutput(String)` | TaskOutputResponse | 任务ID | 获取任务输出 | | `cancelTask(String)` | boolean | 任务ID | 取消任务 | #### WebappApi - Web应用API | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `run(String, Map)` | WebappDemoResponse | 应用ID,参数 | 运行Web应用 | | `getResult(String)` | String | 运行ID | 获取运行结果 | #### QuickAIAppApi - 快速AI应用API | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `run(String, Map)` | TaskCreateResponse | 应用ID,参数 | 运行AI应用 | | `getResult(String)` | String | 运行ID | 获取结果 | #### StandardModelApi - 标准模型API | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `chat(String, String)` | String | 模型,消息 | 聊天 | | `chatWithImage(String, String, String)` | String | 模型,消息,图片 | 图片聊天 | #### ResourceApi - 资源API | 方法名 | 返回类型 | 参数 | 说明 | |--------|----------|------|------| | `upload(byte[], String)` | UploadResponse | 数据,文件名 | 上传资源 | | `download(String)` | byte[] | 资源ID | 下载资源 | | `list()` | List | 无 | 资源列表 | | `delete(String)` | boolean | 资源ID | 删除资源 | --- ### 4.3 CozeAI - Coze工作流客户端 **包名**: `com.scm.all.AI.CozeAI` #### CoZeWorkflowClient - Coze工作流客户端 | 方法名 | 返回Type | 参数 | 说明 | |--------|----------|------|------| | `CoZeWorkflowClient(String, String)` | 构造方法 | Token,BotID | 创建客户端 | | `execute(Map)` | JSONObject | 参数 | 执行工作流 | | `executeAsync(Map, ProgressCallback)` | void | 参数,回调 | 异步执行 | --- ## 5. 组件模块 (com.scm.all.component) ### 5.1 AnimatedBorderEngine 见1.9节。 ### 5.2 ImageEditorTool 见1.8节。 --- ## 6. 数据结构模块 (com.scm.all.struct) **说明**: 包含约40+个数据结构类,用于Windows API参数封装。 ### 6.1 基础结构类 | 类名 | 说明 | |------|------| | `TagPoint` | 坐标点 (x, y) | | `TagPointD` | 双精度坐标点 | | `TagPointF` | 单精度坐标点 | | `TagRect` | 矩形 (left, top, right, bottom) | | `TagRectF` | 单精度矩形 | | `TagRectSize` | 矩形尺寸 | | `TagSize` | 尺寸 (width, height) | | `TagBorderSize` | 边框尺寸 | | `TagPadDingSize` | 内边距尺寸 | | `TagMarginSize_` | 外边距尺寸 | ### 6.2 进程线程结构 | 类名 | 说明 | |------|------| | `TagProcessenTry32` | 进程信息 | | `TagThreadEntry32` | 线程信息 | | `TagModuleenTry32` | 模块信息 | | `TagModuleenTryX86` | 32位模块信息 | | `TagModuleenTryX64` | 64位模块信息 | | `TagMemoryDataX86` | 32位内存数据 | | `TagMemoryDataX64` | 64位内存数据 | | `TagPmemory_Basic_InfoRmationX86` | 32位内存基本信息 | | `TagPmemory_Basic_InfoRmationX64` | 64位内存基本信息 | ### 6.3 窗口结构 | 类名 | 说明 | |------|------| | `TagWinInfo` | 窗口信息 | | `TagMyWindwInfo` | 我的窗口信息 | | `TagEditStyleInfo` | 编辑框样式信息 | | `TagListBoxItemInfo` | 列表框项信息 | | `TagListViewItemId` | 列表视图项ID | | `TagEditor_color_` | 编辑器颜色 | | `TagMonthCalItem` | 月历项 | ### 6.4 字体结构 | 类名 | 说明 | |------|------| | `TagFontInfo` | 字体信息 | | `TagLOGFONTW` | LOG字体 | ### 6.5 输入结构 | 类名 | 说明 | |------|------| | `TagINPUT` | 输入事件 | | `TagHotKeyInfoTow` | 热键信息2 | | `TagHotKeyInfoThree` | 热键信息3 | ### 6.6 权限安全结构 | 类名 | 说明 | |------|------| | `TagTokenPrivileges` | 令牌权限 | | `TagLuid` | 本地唯一标识符 | | `TagRegisTryGroupInfo` | 注册组信息 | --- ## 7. 回调函数模块 (com.scm.all.pfunc) **说明**: 约30+个回调接口,用于事件处理和异步操作。 ### 7.1 通用回调接口 | 接口名 | 方法 | 说明 | |--------|------|------| | `JscmCallBack` | `callback(int, int)` | 通用回调 | | `MemoryCallBack` | `callback(int, byte[])` | 内存搜索回调 | | `ModuleCallBack` | `callback(int, TagModuleenTryX64)` | 模块枚举回调 | | `WindowEventCallBack` | `callback(int, int)` | 窗口事件回调 | ### 7.2 线程回调接口 | 接口名 | 方法 | 说明 | |--------|------|------| | `ThreadUICallBack` | `callback(int)` | 线程UI回调 | | `TagThreadInfo` | `callback(TagThreadEntry32)` | 线程信息回调 | | `NtQueryAllProcessInfoCallBackProcess` | `callback(int, int)` | 进程信息回调 | | `NtQueryAllProcessInfoCallBackThread` | `callback(int, int)` | 线程信息回调 | ### 7.3 断点回调接口 | 接口名 | 方法 | 说明 | |--------|------|------| | `BreakpointCallBackX64` | `callback(long, int)` | 64位断点回调 | | `BreakpointCallBackX86` | `callback(int, int)` | 32位断点回调 | | `ServerBreakpointJniFunction` | `callback(int, String)` | 服务器断点回调 | ### 7.4 WebDriver回调接口 | 接口名 | 方法 | 说明 | |--------|------|------| | `WebChromeDriverCallBack` | `callback(String)` | Chrome驱动回调 | ### 7.5 动画回调接口 | 接口名 | 方法 | 说明 | |--------|------|------| | `TagFunAnimationItem` | `callback(TagPFunAnimation)` | 动画项回调 | | `TagPFunAnimation` | `callback(int, int)` | 动画回调 | --- ## 8. 枚举模块 (com.scm.all.enumBox) **说明**: 约80+个枚举类,用于Windows API参数定义。 ### 8.1 窗口相关枚举 | 枚举名 | 说明 | |--------|------| | `WindowStyle` | 窗口样式 | | `WindowStateFlag` | 窗口状态标志 | | `WindowTransparent` | 窗口透明度 | | `WindowID` | 窗口ID | | `WindowPosition` | 窗口位置 | | `WindowFieldOffsets` | 窗口字段偏移 | | `ZOrder` | Z顺序 | | `SetWindowPosFlags` | SetWindowPos标志 | | `RedrawWindow` | 重绘标志 | ### 8.2 控件相关枚举 | 枚举名 | 说明 | |--------|------| | `ButtonStateFlag` | 按钮状态标志 | | `ButtonState` | 按钮状态 | | `ButtonIconAlignment` | 按钮图标对齐 | | `EditStyleType` | 编辑框样式类型 | | `EditType` | 编辑框类型 | | `EditTextAlignFlag` | 文本对齐标志 | | `ComboBoxStateFlag` | 组合框状态标志 | | `ComboBoxState` | 组合框状态 | | `ListBoxStateFlag` | 列表框状态标志 | | `ListViewStateFlag` | 列表视图状态标志 | | `ListItemState` | 列表项状态 | | `ListItemTempType` | 列表项临时类型 | | `ListHeaderStateFlag` | 列表头状态标志 | | `ListDrawItemBkFlag` | 列表项背景标志 | ### 8.3 布局相关枚举 | 枚举名 | 说明 | |--------|------| | `LayoutAlign` | 布局对齐 | | `LayoutAlignAxis` | 布局轴对齐 | | `LayoutStateFlag` | 布局状态标志 | | `LayoutSize` | 布局尺寸 | | `AdjustLayout` | 调整布局 | | `PaneAlign` | 面板对齐 | | `PaneState` | 面板状态 | | `PaneStateFlag` | 面板状态标志 | ### 8.4 其他常用枚举 | 枚举名 | 说明 | |--------|------| | `MessageBoxFlag` | 消息框标志 | | `MenuItemFlag` | 菜单项标志 | | `MenuPopupPosition` | 菜单弹出位置 | | `TrayIconFlag` | 托盘图标标志 | | `TextFormatFlag` | 文本格式标志 | | `FontStyle` | 字体样式 | | `WindowsCursor` | Windows光标 | | `AnimationMove` | 动画移动 | | `EaseType` | 缓动类型 | | `EaseFlag` | 缓动标志 | | `ImageDrawType` | 图像绘制类型 | | `ElementStateFlag` | 元素状态标志 | | `ElementPosition` | 元素位置 | | `BreakpointType` | 断点类型 | ### 8.5 D2D相关枚举 | 枚举名 | 说明 | |--------|------| | `D2D1AlphaMode` | Alpha模式 | | `D2D1RenderTargetType` | 渲染目标类型 | | `D2D1RenderTargetUsage` | 渲染目标用途 | | `D2D1FeatureLevel` | 功能级别 | | `DXGIFormat` | DXGI格式 | --- ## 附录 ### 依赖库 - commons-lang3 (3.x) - jackson-databind (2.x) - okhttp3 (3.8.1) - selenium (3.x) ### 系统要求 - Windows 7及以上 - JDK 8或更高版本 - JSCMDll (配套的原生DLL文件) --- *文档生成完毕*