diff --git a/assets/inject/Dll1.dll b/assets/inject/Dll1.dll new file mode 100644 index 0000000..b385a0f Binary files /dev/null and b/assets/inject/Dll1.dll differ diff --git a/assets/inject/WindowsInject.exe b/assets/inject/WindowsInject.exe new file mode 100644 index 0000000..2a745b3 Binary files /dev/null and b/assets/inject/WindowsInject.exe differ diff --git a/docx/CHANGELOG.md b/docx/CHANGELOG.md index 49e0666..719876a 100644 --- a/docx/CHANGELOG.md +++ b/docx/CHANGELOG.md @@ -1,4 +1,15 @@ -# [0.40.1](https://github.com/shelllet/winui/compare/main...dev) (2024-11-06) +# [0.41.0](https://github.com/shelllet/winui/compare/main...dev) (2024-12-14) + +### Changed: +1. 修复一些问题。 +2. 添加内存读写动作:[ReadMemory](./actions/system/ReadMemory.md)、[WriteMemory](./actions/system/WriteMemory.md)、`DLL`注入:[AttachProcess](./actions/system/AttachProcess.md)。 + +### Note + +1. 使用管理员权限运行 *winui++*, 无法显示 *动作* 的拖动效果(已知问题)。 +2. 64位下载(x64):https://bitbucket.org/winui-release/version/downloads/winui0.41.0-setup.x64.exe + +## [0.40.1](https://github.com/shelllet/winui/compare/main...dev) (2024-11-06) ### Changed: 1. 修复动作参数数字无法输入问题。 diff --git a/docx/_sidebar.md b/docx/_sidebar.md index aa56d99..8b61d43 100644 --- a/docx/_sidebar.md +++ b/docx/_sidebar.md @@ -13,6 +13,7 @@ - [使用逻辑](./introduction/workflow/logic.md) - [鼠标/键盘宏录制](./introduction/workflow/record) - [变量](./introduction/workflow/variable.md) + - [资源](./introduction/workflow/resources.md) - [流程操作技巧](./introduction/workflow/skill.md) - [通配符匹配](./introduction/workflow/wildcard.md) - [Glob模式匹配](./introduction/workflow/glob.md) @@ -25,7 +26,7 @@ - [添加用户](./actions/system/UserAdd.md) - [打开应用](./actions/system/OpenApplication.md) - [打开文件](./actions/system/LaunchFile.md) - - [打开链接](./actions/system/OpenUri.md) + - [打开链接](./actions/system/OpenUrl.md) - [退出系统](./actions/system/ExitWindows.md) - [关闭句柄](./actions/system/CloseHandle.md) - [检测进程](./actions/system/ExistProcess.md) @@ -35,6 +36,9 @@ - [输出文本](./actions/system/OutputString.md) - [创建对象](./actions/system/CreateObject.md) - [调用方法](./actions/system/CallMethod.md) + - [读内存](./actions/system/ReadMemory.md) + - [写内存](./actions/system/WriteMemory.md) + - [附加进程](./actions/system/AttachProcess.md) - 异步操作 - [定时器](./actions/async/WorkTimer.md) - [定时任务](./actions/async/WorkTask.md) @@ -73,6 +77,7 @@ - [监听鼠标](./actions/mouse/ListenMouse.md) - [偏移移动](./actions/mouse/MoveOffset.md) - [点击*网格](./actions/mouse/CellClick.md) + - [移动*网格](./actions/mouse/CellMove.md) - [滚动鼠标](./actions/mouse/WheelMouse.md) - 窗口 - [查找窗口](./actions/window/FindWindow.md) @@ -247,8 +252,10 @@ - [添加元素](./actions/algorithm/PushBack.md) - [删除元素](./actions/algorithm/PopBack.md) - 类型 + - [布尔](./actions/type/TypeBoolean.md) + - [数字](./actions/type/TypeNumber.md) - [字符串](./actions/type/TypeString.md) - - [网址](./actions/type/TypeUri.md) + - [网址](./actions/type/TypeUrl.md) - [坐标](./actions/type/TypePoint.md) - [文件](./actions/type/TypeFile.md) - [文件夹](./actions/type/TypeFolder.md) @@ -260,6 +267,13 @@ - [颜色](./actions/type/TypeColor.md) - [模型](./actions/type/TypeModel.md) - [相机](./actions/type/TypeCamera.md) + - [字典](./actions/type/TypeDict.md) + - [元组](./actions/type/TypeTuple.md) + - [切片](./actions/type/TypeSlice.md) + - [列表](./actions/type/TypeList.md) + - [指针](./actions/type/TypePtr.md) + - [主机地址](./actions/type/TypeHostAddress.md) + - [字符串列表](./actions/type/TypeStrings.md) - 内置类型 - [Boolean](./types/Boolean.md) - [Number](./types/Number.md) @@ -269,22 +283,25 @@ - [Rect](./types/Rect.md) - [Scalar](./types/Scalar.md) - [Color](./types/Color.md) + - [Bytes](./types/Bytes.md) - [RotatedRect](./types/RotatedRect.md) - [DetectionResult](./types/DetectionResult.md) - [ClassificationResult](./types/ClassificationResult.md) - [RecognitionResult](./types/RecognitionResult.md) - [File](./types/File.md) - - [图像](./types/Image.md) + - [Image](./types/Image.md) - [Size](./types/Size.md) - [Url](./types/Url.md) - [Wnd](./types/Wnd.md) - [ModelSession](./types/ModelSession.md) - [WebDriver](./types/WebDriver.md) - [Timer](./types/Timer.md) - - [线程](./types/Thread.md) - - [键盘](./types/Keyboard.md) - - [主机地址](./types/HostAddress.md) - - [元组](./types/Tuple.md) + - [Thread](./types/Thread.md) + - [Keyboard](./types/Keyboard.md) + - [HostAddress](./types/HostAddress.md) + - [Tuple](./types/Tuple.md) + - [Slice](./types/Slice.md) + - [Ptr](./types/Ptr.md) - 枚举类型 - [Colors](./enums/Colors.md) - [Directions](./enums/Directions.md) diff --git a/docx/actions/algorithm/FilterVertex.md b/docx/actions/algorithm/FilterVertex.md index 35badba..8fd4719 100644 --- a/docx/actions/algorithm/FilterVertex.md +++ b/docx/actions/algorithm/FilterVertex.md @@ -26,3 +26,8 @@ ## 其它 示例:https://github.com/shelllet/WinUi/blob/main/algorithm/FilterVertex.simple + + + + + \ No newline at end of file diff --git a/docx/actions/algorithm/RandomNumber.md b/docx/actions/algorithm/RandomNumber.md index d51c6f7..3c19095 100644 --- a/docx/actions/algorithm/RandomNumber.md +++ b/docx/actions/algorithm/RandomNumber.md @@ -30,4 +30,9 @@ import random random.randint(1, 100) ```` + + + + + !> 该动作被执行之后就会生成确定的随机数。所有引用该动作的运行参数,都会使用相同的随机数。 \ No newline at end of file diff --git a/docx/actions/algorithm/RandomPoint.md b/docx/actions/algorithm/RandomPoint.md index 94bdfff..6942885 100644 --- a/docx/actions/algorithm/RandomPoint.md +++ b/docx/actions/algorithm/RandomPoint.md @@ -23,5 +23,8 @@ 示例:https://github.com/shelllet/WinUi/blob/main/algorithm/RandomPoint.simple + + + !> 该动作被执行之后就会生成确定的随机坐标。其他所有引用该动作的运行参数,都会使用相同的随机坐标。 \ No newline at end of file diff --git a/docx/actions/mouse/CellClick.md b/docx/actions/mouse/CellClick.md index 279f99a..e85c283 100644 --- a/docx/actions/mouse/CellClick.md +++ b/docx/actions/mouse/CellClick.md @@ -15,10 +15,16 @@ > * 行数 > 风格行数 + * 列数 > 网格列数 + * 半径 > 以单元格中心为圆心,该参数为半径,动态计算最终的目标位置。该参数不要超过单元格长宽中的最小值。 + +* 停顿 +> 移动至下个单元格的停顿时间。 + * 点击键 > 鼠标键,参考:[MouseButtons](./enums/MouseButtons.md) @@ -31,6 +37,6 @@ * 流程:https://github.com/shelllet/WinUi/blob/main/mouse/CellClick.simple - \ No newline at end of file + \ No newline at end of file diff --git a/docx/actions/mouse/CellMove.md b/docx/actions/mouse/CellMove.md new file mode 100644 index 0000000..cca72e8 --- /dev/null +++ b/docx/actions/mouse/CellMove.md @@ -0,0 +1,36 @@ +# 移动 * 网格 +在桌面虚拟一个网格,依次移动鼠标至网格中的每个单元格,并调用自定义的子流程。需要配合 [移动鼠标](./actions/mouse/MovePointer.md)动作,移动鼠标至网格左上角第一个单格中心位置。 + +![CellMove](./images/12.png ':size=90%') + +## 子流程 +> 支持,当前鼠标位置传入子流程。 + + +## 运行参数 + +* 单元格宽度 +> +* 单元格高度 +> +* 行数 +> 风格行数 + +* 列数 +> 网格列数 + +* 半径 +> 以单元格中心为圆心,该参数为半径,动态计算最终的目标位置。该参数不要超过单元格长宽中的最小值。 + + +## 输出 + +> 无 + +## 资源 + +* 流程:https://github.com/shelllet/WinUi/blob/main/mouse/CellMove.simple + + \ No newline at end of file diff --git a/docx/actions/mouse/images/12.png b/docx/actions/mouse/images/12.png new file mode 100644 index 0000000..6ca873c Binary files /dev/null and b/docx/actions/mouse/images/12.png differ diff --git a/docx/actions/system/AttachProcess.md b/docx/actions/system/AttachProcess.md new file mode 100644 index 0000000..98ce50b --- /dev/null +++ b/docx/actions/system/AttachProcess.md @@ -0,0 +1,30 @@ +# 代码注入 + +创建一个进程,在进程启动的时候附加一个动态链接库。这个动作可以把动态库加载到进程的运行空间,也可以称作`DLL`注入。 + +![AttachProcess](./images/19.png ':size=90%') + +## 权限 +> 无要求 + +## 子流程 + +> 不支持 + +## 运行参数 + +* 进程 +> 进程的路径,`Windows` 系统同名进程可以有多个,可以用进程全路径区分。 + +* 动态库 +> 要附加的动态链接库。注意适配`32`位或者`64`位可执行程序。 + +## 输出 + +> 无 + + +## 资源 + +* 示例流程:https://github.com/shelllet/WinUi/blob/main/system/AttachProcess.simple + diff --git a/docx/actions/system/OpenUri.md b/docx/actions/system/OpenUrl.md similarity index 94% rename from docx/actions/system/OpenUri.md rename to docx/actions/system/OpenUrl.md index 89465b6..6264ca4 100644 --- a/docx/actions/system/OpenUri.md +++ b/docx/actions/system/OpenUrl.md @@ -1,7 +1,7 @@ # 打开链接 该动作可以启动默认的浏览器打开指定的网址 -![OpenUri](./images/08.png ':size=90%') +![OpenUrl](./images/08.png ':size=90%') ## 权限 > 无要求 diff --git a/docx/actions/system/ReadMemory.md b/docx/actions/system/ReadMemory.md new file mode 100644 index 0000000..c315e21 --- /dev/null +++ b/docx/actions/system/ReadMemory.md @@ -0,0 +1,31 @@ +# 读取内存 + +读取指定进程地址范围内的数据。 + +![ReadMemory](./images/18.png ':size=90%') + +## 权限 +> 无要求 + +## 子流程 + +> 不支持 + +## 运行参数 +* 进程 +> 进程的路径,`Windows` 系统同名进程可以有多个,可以用进程全路径来区分。 + +* 地址 +> 用户空间的内存地址。 + +* 长度 +> 读取的数据长度。 + +## 输出 + +> 内存数据,参考:[字节序列](./types/Bytes.md)。 + +## 资源 + +* 示例流程:https://github.com/shelllet/WinUi/blob/main/system/ReadMemory.simple + diff --git a/docx/actions/system/Wait.md b/docx/actions/system/Wait.md index dbe49f9..78e88ea 100644 --- a/docx/actions/system/Wait.md +++ b/docx/actions/system/Wait.md @@ -19,16 +19,6 @@ > 无 -## 脚本调用 - -```python -import simple - -w = simple.WaitRunner(3) # sleep 3s -# w.duration = 3 -w.run() -``` - ## 资源 * 示例流程:https://github.com/shelllet/WinUi/blob/main/system/Wait.simple diff --git a/docx/actions/system/WriteMemory.md b/docx/actions/system/WriteMemory.md new file mode 100644 index 0000000..5d6eb57 --- /dev/null +++ b/docx/actions/system/WriteMemory.md @@ -0,0 +1,33 @@ +# 写内存 + +在进程指定的内存地址处写入数据。 + +![WriteMemory](./images/17.png ':size=90%') + +## 权限 +> 无要求 + +## 子流程 + +> 不支持 + +## 运行参数 + +* 进程 +> 进程的路径,`Windows` 系统同名进程可以有多个,可以用进程全路径区分。 + + +* 地址 +> 用户空间的内存地址。 + +* 数据 +> 写入的数据。如果写入字节序列,请使用:[Bytes](./types/Bytes.md),创建字节序列。 + +## 输出 + +> 无 + + +## 资源 + +* 示例流程:https://github.com/shelllet/WinUi/blob/main/system/Wait.simple diff --git a/docx/actions/system/images/17.png b/docx/actions/system/images/17.png new file mode 100644 index 0000000..d0d01ee Binary files /dev/null and b/docx/actions/system/images/17.png differ diff --git a/docx/actions/system/images/18.png b/docx/actions/system/images/18.png new file mode 100644 index 0000000..3e42035 Binary files /dev/null and b/docx/actions/system/images/18.png differ diff --git a/docx/actions/system/images/19.png b/docx/actions/system/images/19.png new file mode 100644 index 0000000..1355d5b Binary files /dev/null and b/docx/actions/system/images/19.png differ diff --git a/docx/actions/type/TypeBoolean.md b/docx/actions/type/TypeBoolean.md new file mode 100644 index 0000000..55a85c9 --- /dev/null +++ b/docx/actions/type/TypeBoolean.md @@ -0,0 +1,29 @@ +# 布尔 +定义一个 *布尔* 类型。 + + +![TypeBoolean](./images/01.png ':size=90%') + +## 子流程 +> 不支持 + + +## 运行参数 + +* 值 +> 布尔值。 + +## 输出 + +> 参考类型:[Boolean](./types/Boolean.md)。 + + +## 脚本调用 + +```python + +b = True + +``` + +## 示例 \ No newline at end of file diff --git a/docx/actions/type/TypeCamera.md b/docx/actions/type/TypeCamera.md index 2e2dc3e..72e7344 100644 --- a/docx/actions/type/TypeCamera.md +++ b/docx/actions/type/TypeCamera.md @@ -1,22 +1,23 @@ # 相机 定义相机类型,当前系统必须连接相机设备。工业 *GIGE* 接口的相机需要手动安装相应的驱动。 +![TypeCamera](./images/15.png ':size=90%') + ## 权限 > 无要求 + ## 子流程 > 不支持 -## 预览 -> 可预览,默认 *6s* 之后停止。 ## 运行参数 -* [相机索引](./types/Number.md) -> 默认值:0 +* 相机 +> 相机索引,默认值:`0`。 ## 输出 -> 相机对象 +> 相机对象,参考:[VideoCapture](./types/VideoCapture.md)。 ## 脚本调用 @@ -24,6 +25,12 @@ ```python import simple; + +cap = VideoCapture(0) + ``` -## 示例 \ No newline at end of file +## 示例 + + +!> 预览该动作执行, *6s* 之后停止。 \ No newline at end of file diff --git a/docx/actions/type/TypeColor.md b/docx/actions/type/TypeColor.md index e2a1639..8d98bda 100644 --- a/docx/actions/type/TypeColor.md +++ b/docx/actions/type/TypeColor.md @@ -1,5 +1,7 @@ # 颜色 -定义 *颜色* 类型 +定义 *颜色* 类型的值。 + +![TypeColor](./images/13.png ':size=90%') ## 子流程 > 不支持 @@ -7,12 +9,12 @@ ## 运行参数 -* Color:颜色 +* 颜色 ## 输出 -> [Color](./types/Color.md) +> 颜色,参考: [Color](./types/Color.md)。 ## 脚本调用 @@ -20,6 +22,8 @@ ```python import simple; +c = simple.Color(255,255,255) + ``` ## 示例 \ No newline at end of file diff --git a/docx/actions/type/TypeDict.md b/docx/actions/type/TypeDict.md index 343cce8..d771794 100644 --- a/docx/actions/type/TypeDict.md +++ b/docx/actions/type/TypeDict.md @@ -1,21 +1,29 @@ # 字典 定义一个 `Dict`(字典) 类型。 +![TypeDict](./images/16.png ':size=90%') + ## 子流程 -> 支持 +> 支持, 可以通过子动作可以为该字典添加多个键值对。 ## 运行参数 +该动作只能添加一个 键值对,多个键值对,需要通过子动作添加。 +* 键 +> +* 值 +> ## 输出 -> [`Dict`](./types/Dict.md) +> 字典,参考:[`Dict`](./types/Dict.md) 。 ## 脚本调用 ```python -import simple; + +tel = {'jack': 4098, 'sape': 4139} ``` diff --git a/docx/actions/type/TypeFile.md b/docx/actions/type/TypeFile.md index 58b0e7c..7f0521c 100644 --- a/docx/actions/type/TypeFile.md +++ b/docx/actions/type/TypeFile.md @@ -1,5 +1,7 @@ # 文件 -定义 *文件* 类型 +定义 *文件* 类型。 + +![TypeFile](./images/06.png ':size=90%') ## 子流程 > 不支持 @@ -7,11 +9,12 @@ ## 运行参数 -* File:本地文件 +* 值 +> 本地文件。 ## 输出 - +> 文件,参考:[File](./types/File.md)。 @@ -20,6 +23,8 @@ ```python import simple; +file = simple.File('c:/windows/system32/notepad.exe') + ``` ## 示例 \ No newline at end of file diff --git a/docx/actions/type/TypeFolder.md b/docx/actions/type/TypeFolder.md index 46e7fcf..396c5fc 100644 --- a/docx/actions/type/TypeFolder.md +++ b/docx/actions/type/TypeFolder.md @@ -1,5 +1,7 @@ # 文件夹 -定义 *文件夹* 类型 +定义 *文件夹* 类型。 + +![TypeFile](./images/07.png ':size=90%') ## 子流程 > 不支持 @@ -7,12 +9,13 @@ ## 运行参数 -* Folder:文件夹 +* 值 +> 文件夹。 ## 输出 - +> 文件夹,参考:[Path](./types/Path.md)。 ## 脚本调用 @@ -20,6 +23,8 @@ ```python import simple; +p = simple.Path('c:/windows') + ``` ## 示例 \ No newline at end of file diff --git a/docx/actions/type/TypeHostAddress.md b/docx/actions/type/TypeHostAddress.md new file mode 100644 index 0000000..715938f --- /dev/null +++ b/docx/actions/type/TypeHostAddress.md @@ -0,0 +1,31 @@ +# 主机地址 +定义一个 *主机地址* 类型。主机地址通常包含*IP*地址和端口。 + +![TypeString](./images/18.png ':size=90%') + +## 子流程 +> 不支持 + + +## 运行参数 + +* 主机 +> *ip* 地址。默认:`localhost`,本地回环地址,和 `127.0.0.1`对应。 + +* 端口 +> 端口号,端口号的范围从`0`到`65535`。 + +## 输出 + +> 主机地址,参考: [HostAddress](./types/HostAddress.md)。 + + +## 脚本调用 + +```python + +str = 'hello, winui++' + +``` + +## 示例 \ No newline at end of file diff --git a/docx/actions/type/TypeList.md b/docx/actions/type/TypeList.md new file mode 100644 index 0000000..9f86113 --- /dev/null +++ b/docx/actions/type/TypeList.md @@ -0,0 +1,29 @@ +# 列表 +定义一个 *列表* 类型的值。 + +![TypeList](./images/20.png ':size=90%') + +## 子流程 +> 不支持 + + +## 运行参数 + +* 值 +> *Python* 列表。 + + +## 输出 + +> 列表,参考: [List](./types/List.md)。 + + +## 脚本调用 + +```python + +fruits = ['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana'] + +``` + +## 示例 \ No newline at end of file diff --git a/docx/actions/type/TypeModel.md b/docx/actions/type/TypeModel.md index 238943f..d828a39 100644 --- a/docx/actions/type/TypeModel.md +++ b/docx/actions/type/TypeModel.md @@ -1,7 +1,7 @@ # 模型 -加载 *ONNX* 模型文件 +定义 *ONNX* 模型文件。 -![action](./images/01.png ':size=90%') +![TypeModel](./images/14.png ':size=90%') ## 子流程 @@ -10,13 +10,15 @@ ## 运行参数 -* Model:模型文件,后缀名为:`.onnx` - +* 模型 +> 模型文件,后缀名为:`.onnx`。 +* 类型 +> 由于模型文件通常比较大,加载需要比较长的时间,为避免动作每次执行都加载模型文件,可以打开此开关,切换为静态。 ## 输出 -> [`ModelSession`](./types/ModelSession.md) +> 模型,参考:[`ModelSession`](./types/ModelSession.md)。 ## 脚本调用 @@ -24,6 +26,7 @@ ```python import simple; +model = simple.ModelSession('simple.onnx') ``` ## 示例 \ No newline at end of file diff --git a/docx/actions/type/TypeNumber.md b/docx/actions/type/TypeNumber.md new file mode 100644 index 0000000..a9572b4 --- /dev/null +++ b/docx/actions/type/TypeNumber.md @@ -0,0 +1,28 @@ +# 布尔 +定义一个 *数字* 类型。 + + +![TypeNumber](./images/02.png ':size=90%') + +## 子流程 +> 不支持 + + +## 运行参数 + +* 值 +> 数字。 + +## 输出 + +> 参考类型:[Number](./types/Number.md)。 + +## 脚本调用 + +```python + +num = 5 + +``` + +## 示例 \ No newline at end of file diff --git a/docx/actions/type/TypePassword.md b/docx/actions/type/TypePassword.md index 47b8968..51052c3 100644 --- a/docx/actions/type/TypePassword.md +++ b/docx/actions/type/TypePassword.md @@ -1,5 +1,7 @@ # 密码 -定义 *密码*,字符串类型 +定义 *密码*,字符串类型。 + +![TypePassword](./images/12.png ':size=90%') ## 子流程 > 不支持 @@ -7,18 +9,20 @@ ## 运行参数 -* Password:密码 - +* 密码 +> 定义的密码,以 `*`号显示。 ## 输出 +> 字符串,参考:[String](./types/String.md)。 ## 脚本调用 ```python -import simple; + +p = '123456' ``` diff --git a/docx/actions/type/TypePoint.md b/docx/actions/type/TypePoint.md index 077c61e..cae29d0 100644 --- a/docx/actions/type/TypePoint.md +++ b/docx/actions/type/TypePoint.md @@ -1,5 +1,7 @@ # 坐标 -定义一个 *坐标* 类型 +定义一个 *坐标* 类型。 + +![TypePoint](./images/05.png ':size=90%') ## 子流程 > 不支持 @@ -7,11 +9,13 @@ ## 运行参数 -* Point:坐标点 +* 值 +> 坐标点,包含 `x` 和 `y` 的值。 ## 输出 +> 坐标,参考:[Point](./types/Point.md)。 @@ -20,6 +24,8 @@ ```python import simple; +pt = simple.Point(100, 100) + ``` ## 示例 \ No newline at end of file diff --git a/docx/actions/type/TypePtr.md b/docx/actions/type/TypePtr.md new file mode 100644 index 0000000..063ae6e --- /dev/null +++ b/docx/actions/type/TypePtr.md @@ -0,0 +1,31 @@ +# Ptr +定义一个 *Ptr* 类型的值,用来表示内存地址,也可称为指针。 + +![TypePtr](./images/22.png ':size=90%') + +## 子流程 +> 不支持 + + +## 运行参数 + +* 值 + +> 使用字符串或者十六进制官字行串表示一个内存地址,例如:`0x014B30A8`。 + + +## 输出 + +> 指针 + + +## 脚本调用 + +```python +import simple; + +ptr = simple.Ptr(0x014B30A8) + +``` + +## 示例 \ No newline at end of file diff --git a/docx/actions/type/TypeRect.md b/docx/actions/type/TypeRect.md index 1130ae2..3870adf 100644 --- a/docx/actions/type/TypeRect.md +++ b/docx/actions/type/TypeRect.md @@ -1,5 +1,7 @@ # 矩形 -定义一个 *矩形* 类型 +定义一个 *矩形* 类型。 + +![TypeRect](./images/09.png ':size=90%') ## 子流程 > 不支持 @@ -8,18 +10,19 @@ ## 运行参数 -* Rect:矩形 - +* 矩形 +> 包含矩形的 *左上角* 坐标和 *长*、 *宽* 大小。 ## 输出 - - +> 短形,参考:[Rect](./types/Rect.md)。 ## 脚本调用 ```python import simple; +rc = simple.Rect(0,0, 100, 100) + ``` ## 示例 \ No newline at end of file diff --git a/docx/actions/type/TypeResource.md b/docx/actions/type/TypeResource.md index 5560bd8..62c5a19 100644 --- a/docx/actions/type/TypeResource.md +++ b/docx/actions/type/TypeResource.md @@ -1,5 +1,8 @@ # 资源 -定义 *资源* 类型 +定义 *资源* 类型,用于选择嵌入流程中的资源,比如常用的图片文件。 + +![TypeResource](./images/09.png ':size=90%') + ## 子流程 > 不支持 @@ -8,18 +11,12 @@ ## 运行参数 -* Resource:选择内嵌的资源 +* 资源 +> 选择嵌入流程中的资源,参考:[资源](./introduction/workflow/resources.md)。 ## 输出 - - - -## 脚本调用 - -```python -import simple; +> 对应的资源类型。 -``` ## 示例 \ No newline at end of file diff --git a/docx/actions/type/TypeScalar.md b/docx/actions/type/TypeScalar.md index 1f87326..3f84e42 100644 --- a/docx/actions/type/TypeScalar.md +++ b/docx/actions/type/TypeScalar.md @@ -1,5 +1,8 @@ # 标量 -定义 *标量* 类型,*标量* 包含 *4* 个数值 +定义 *标量* 类型,*标量* 包含 *4* 个数值。 + + +![TypeScalar](./images/11.png) ## 子流程 > 不支持 @@ -8,10 +11,12 @@ ## 运行参数 -* Value:标量 +* 值 +> 包含四个数值 `M0`、 `M1`、 `M2`、 `M3`。 ## 输出 +> 标题,参考:[Scalar](./types/Scalar.md)。 @@ -20,6 +25,10 @@ ```python import simple; +s1 = simple.Scalar() + +s2 = simple.Scalar(0,0,0,0) + ``` ## 示例 \ No newline at end of file diff --git a/docx/actions/type/TypeShortcut.md b/docx/actions/type/TypeShortcut.md index 955c9bd..8232433 100644 --- a/docx/actions/type/TypeShortcut.md +++ b/docx/actions/type/TypeShortcut.md @@ -1,6 +1,7 @@ # 快捷键 -定义一个 *快捷键* 类型 +定义一个 *快捷键* 类型。 +![TypeString](./images/08.png ':size=90%') ## 子流程 > 不支持 @@ -9,11 +10,12 @@ ## 运行参数 -* Key:快捷键 +* 键 +> 快捷键。 ## 输出 - +> 快捷键,参考:[KeySequence](./types/KeySequence.md)。 ## 脚本调用 @@ -21,6 +23,9 @@ ```python import simple; +key = simple.KeySequence(simple.Key.Control, simple.Key.W) + + ``` ## 示例 \ No newline at end of file diff --git a/docx/actions/type/TypeSlice.md b/docx/actions/type/TypeSlice.md new file mode 100644 index 0000000..73300fe --- /dev/null +++ b/docx/actions/type/TypeSlice.md @@ -0,0 +1,33 @@ +# 切片 +定义一个 `切片`(Slice) 类型值。 + +![TypeSlice](./images/19.png ':size=90%') + +## 子流程 +> 不支持 + +## 运行参数 + +* 开始 +> 切片开始位置。如果未提供,则默认为 `None`。 + +* 结束 +> 结束位置,切片在索引 stop-1(最后一个元素)处停止。 + +* 步长 +> 用于确定切片的每个索引之间的增量。如果未提供,则默认为 `None`。 + +## 输出 + +> 切片对象,参考:[`Slice`](./types/Slice.md) 。 + + +## 脚本调用 + +```python + +sliced = slice(3) + +``` + +## 示例 \ No newline at end of file diff --git a/docx/actions/type/TypeString.md b/docx/actions/type/TypeString.md index eafe8ad..3a07a7f 100644 --- a/docx/actions/type/TypeString.md +++ b/docx/actions/type/TypeString.md @@ -1,5 +1,7 @@ # 字符串 -定义一个 *字符串* 类型 +定义一个 *字符串* 类型。 + +![TypeString](./images/03.png ':size=90%') ## 子流程 > 不支持 @@ -7,18 +9,20 @@ ## 运行参数 -* Text:定义一个字符串 +* 值 +> 字符串。 ## 输出 - +> 字符串,参考: [String](./types/String.md)。 ## 脚本调用 ```python -import simple; + +str = 'hello, winui++' ``` diff --git a/docx/actions/type/TypeStrings.md b/docx/actions/type/TypeStrings.md new file mode 100644 index 0000000..7c47ec9 --- /dev/null +++ b/docx/actions/type/TypeStrings.md @@ -0,0 +1,29 @@ +# 字符串列表 +定义一个 *字符串列表* 类型的值。 + +![TypeStrings](./images/21.png ':size=90%') + +## 子流程 +> 不支持 + + +## 运行参数 + +* 值 +> 多行字符串。按照换行符`\r\n` 分隔为字符串列表。 + + +## 输出 + +> 字符串列表,参考: [String](./types/String.md)。 + + +## 脚本调用 + +```python + +fruits = ['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana'] + +``` + +## 示例 \ No newline at end of file diff --git a/docx/actions/type/TypeTuple.md b/docx/actions/type/TypeTuple.md index 781277b..6b5ddf0 100644 --- a/docx/actions/type/TypeTuple.md +++ b/docx/actions/type/TypeTuple.md @@ -1,27 +1,26 @@ # 字典 定义一个 `Tuple`(元组) 类型。 +![TypeTuple](./images/17.png ':size=90%') + ## 子流程 -> 支持 +> 支持,可以通过子动作可以为该元组添加多个元素。 -## 运行参数 -* 名称 -> 元组的第 1 个元素。 +## 运行参数 -* 数据 -> 元组的第 2 个元素。 +* 值 +> 元组的第 `1` 个元素。 ## 输出 -> [`Tuple`](./types/Tuple.md) +> 元组,参考:[`Tuple`](./types/Tuple.md) 。 ## 脚本调用 ```python -import simple; - +num = (7, 14, 21, 28, 35) ``` ## 示例 \ No newline at end of file diff --git a/docx/actions/type/TypeUri.md b/docx/actions/type/TypeUri.md deleted file mode 100644 index 8423790..0000000 --- a/docx/actions/type/TypeUri.md +++ /dev/null @@ -1,25 +0,0 @@ -# 网址 -创建一个 *网址* 类型 - -## 子流程 -> 不支持 - - -## 运行参数 - - -* Url:网址 - -## 输出 - - - - -## 脚本调用 - -```python -import simple; - -``` - -## 示例 \ No newline at end of file diff --git a/docx/actions/type/TypeUrl.md b/docx/actions/type/TypeUrl.md new file mode 100644 index 0000000..3abb3a9 --- /dev/null +++ b/docx/actions/type/TypeUrl.md @@ -0,0 +1,30 @@ +# 网址 +创建一个 *网址* 类型。 + +![TypeUrl](./images/04.png ':size=90%') + +## 子流程 +> 不支持 + + +## 运行参数 + + +* 值 +> 网址, 例如:`https://winui.net` , 注意要以 `http` 或者 `https` 开头。 + +## 输出 + +> 网址,参考:[Url](./types/Url.md) + + + +## 脚本调用 + +```python +import simple + +url = simple.Url('https://winui.net') +``` + +## 示例 \ No newline at end of file diff --git a/docx/actions/type/images/01.png b/docx/actions/type/images/01.png index e20d346..8bd32ef 100644 Binary files a/docx/actions/type/images/01.png and b/docx/actions/type/images/01.png differ diff --git a/docx/actions/type/images/02.png b/docx/actions/type/images/02.png new file mode 100644 index 0000000..99e0817 Binary files /dev/null and b/docx/actions/type/images/02.png differ diff --git a/docx/actions/type/images/03.png b/docx/actions/type/images/03.png new file mode 100644 index 0000000..2b8ce3d Binary files /dev/null and b/docx/actions/type/images/03.png differ diff --git a/docx/actions/type/images/04.png b/docx/actions/type/images/04.png new file mode 100644 index 0000000..7e24ca2 Binary files /dev/null and b/docx/actions/type/images/04.png differ diff --git a/docx/actions/type/images/05.png b/docx/actions/type/images/05.png new file mode 100644 index 0000000..7c8d1f9 Binary files /dev/null and b/docx/actions/type/images/05.png differ diff --git a/docx/actions/type/images/06.png b/docx/actions/type/images/06.png new file mode 100644 index 0000000..c754a7f Binary files /dev/null and b/docx/actions/type/images/06.png differ diff --git a/docx/actions/type/images/07.png b/docx/actions/type/images/07.png new file mode 100644 index 0000000..b4f4907 Binary files /dev/null and b/docx/actions/type/images/07.png differ diff --git a/docx/actions/type/images/08.png b/docx/actions/type/images/08.png new file mode 100644 index 0000000..3e022bf Binary files /dev/null and b/docx/actions/type/images/08.png differ diff --git a/docx/actions/type/images/09.png b/docx/actions/type/images/09.png new file mode 100644 index 0000000..f461e31 Binary files /dev/null and b/docx/actions/type/images/09.png differ diff --git a/docx/actions/type/images/10.png b/docx/actions/type/images/10.png new file mode 100644 index 0000000..a54be10 Binary files /dev/null and b/docx/actions/type/images/10.png differ diff --git a/docx/actions/type/images/11.png b/docx/actions/type/images/11.png new file mode 100644 index 0000000..abecf9a Binary files /dev/null and b/docx/actions/type/images/11.png differ diff --git a/docx/actions/type/images/12.png b/docx/actions/type/images/12.png new file mode 100644 index 0000000..496dcd4 Binary files /dev/null and b/docx/actions/type/images/12.png differ diff --git a/docx/actions/type/images/13.png b/docx/actions/type/images/13.png new file mode 100644 index 0000000..b52498c Binary files /dev/null and b/docx/actions/type/images/13.png differ diff --git a/docx/actions/type/images/14.png b/docx/actions/type/images/14.png new file mode 100644 index 0000000..92699bc Binary files /dev/null and b/docx/actions/type/images/14.png differ diff --git a/docx/actions/type/images/15.png b/docx/actions/type/images/15.png new file mode 100644 index 0000000..ff0452c Binary files /dev/null and b/docx/actions/type/images/15.png differ diff --git a/docx/actions/type/images/16.png b/docx/actions/type/images/16.png new file mode 100644 index 0000000..ab74e9d Binary files /dev/null and b/docx/actions/type/images/16.png differ diff --git a/docx/actions/type/images/17.png b/docx/actions/type/images/17.png new file mode 100644 index 0000000..2eb5bb3 Binary files /dev/null and b/docx/actions/type/images/17.png differ diff --git a/docx/actions/type/images/18.png b/docx/actions/type/images/18.png new file mode 100644 index 0000000..a0612c6 Binary files /dev/null and b/docx/actions/type/images/18.png differ diff --git a/docx/actions/type/images/19.png b/docx/actions/type/images/19.png new file mode 100644 index 0000000..2d7f945 Binary files /dev/null and b/docx/actions/type/images/19.png differ diff --git a/docx/actions/type/images/20.png b/docx/actions/type/images/20.png new file mode 100644 index 0000000..21ad6e6 Binary files /dev/null and b/docx/actions/type/images/20.png differ diff --git a/docx/actions/type/images/21.png b/docx/actions/type/images/21.png new file mode 100644 index 0000000..ccbe59c Binary files /dev/null and b/docx/actions/type/images/21.png differ diff --git a/docx/actions/type/images/22.png b/docx/actions/type/images/22.png new file mode 100644 index 0000000..5260102 Binary files /dev/null and b/docx/actions/type/images/22.png differ diff --git a/docx/enums/MouseButtons.md b/docx/enums/MouseButtons.md index d3c0cfb..f4c61c9 100644 --- a/docx/enums/MouseButtons.md +++ b/docx/enums/MouseButtons.md @@ -1 +1,10 @@ -# MouseButtons \ No newline at end of file +# MouseButtons + +* Left +> 鼠标左键 +* Middle +> 鼠标中键 +* Right +> 鼠标右键 +* XButton +> 鼠标侧键 \ No newline at end of file diff --git a/docx/introduction/workflow/images/08.png b/docx/introduction/workflow/images/08.png new file mode 100644 index 0000000..bbc6c72 Binary files /dev/null and b/docx/introduction/workflow/images/08.png differ diff --git a/docx/introduction/workflow/images/09.png b/docx/introduction/workflow/images/09.png new file mode 100644 index 0000000..c2370e3 Binary files /dev/null and b/docx/introduction/workflow/images/09.png differ diff --git a/docx/introduction/workflow/resources.md b/docx/introduction/workflow/resources.md new file mode 100644 index 0000000..8e102c1 --- /dev/null +++ b/docx/introduction/workflow/resources.md @@ -0,0 +1,35 @@ +# 资源 + +流程在分发的时候,往往会碰到缺少资源问题,比如图片、文件等,导致流程在其它电脑上无法执行。要解决此种问题,可以把相应的资源或者文件嵌入流程当中使用,这样可以避免依赖本地资源文件。 + +![Resources](./images/08.png) + + +* 添加 +> 添加本地资源。 +* 删除 +> 删除已经存在资源。 + + +## 右键菜单 + +![menu](./images/09.png) + + +* 删除 + +* 添加文件 + +* 重命名 + +* 替换 + +> 从本地文件替换当前选中的图像。 + +* 替换图像 + +> 从剪切板替换当前选中的图像。 + +* 粘贴 + +> 从剪切板粘贴图像。 \ No newline at end of file diff --git a/docx/types/Bytes.md b/docx/types/Bytes.md new file mode 100644 index 0000000..b93a08f --- /dev/null +++ b/docx/types/Bytes.md @@ -0,0 +1,3 @@ +# Bytes + +Class `Bytes`. 字节序列。 \ No newline at end of file diff --git a/docx/types/Dict.md b/docx/types/Dict.md index f872add..9fc86cd 100644 --- a/docx/types/Dict.md +++ b/docx/types/Dict.md @@ -1 +1,16 @@ -# Dict \ No newline at end of file +# Dict + +字典是另一种可变容器模型,且可存储任意类型对象。 + +* 键(key)必须是唯一的,可以用数字,字符串或元组充当,而用列表就不行。 + +* 同一个键出现两次,最后出现的会更新前一个的值。 + +## 常用方式 + +字典的每个键值 `key:value` 对用冒号`:`分割,每个键值对之间用逗号`,`分割,整个字典包括在花括号 `{}` 中 ,格式如下所示: + +````python + +tel = {'jack': 4098, 'sape': 4139} +```` \ No newline at end of file diff --git a/docx/types/KeySequence.md b/docx/types/KeySequence.md index f052fde..6ccaeb0 100644 --- a/docx/types/KeySequence.md +++ b/docx/types/KeySequence.md @@ -1 +1,3 @@ -# KeySequence \ No newline at end of file +# KeySequence + +Class `KeySequence`, 快捷键。 \ No newline at end of file diff --git a/docx/types/List.md b/docx/types/List.md new file mode 100644 index 0000000..2ac8b42 --- /dev/null +++ b/docx/types/List.md @@ -0,0 +1,13 @@ +# List + +*Python* 列表可以存储不同类型的项目或元素的有序集合。它们通常用于将多个项目编译为单个可变变量,这有助于快速检索项目、指定输出或执行计算。列表也是 *Python* 中的一种内置数据结构(与元组、集合和字典一起),它是一种存储和格式化数据的特定方式。 + + +要在 Python 中创建列表,请在方括号 ([]) 内写入一组项目,并用逗号分隔每个项目。列表中的项目可以是 *Python* 中的任何基本对象类型,包括整数、字符串、浮点值或布尔值。 + +例如,要创建一个名为“z”的列表,其中包含整数 3、7、4 和 2,您可以写道: + +````python +# Define a list +z = [3, 7, 4, 2] +```` \ No newline at end of file diff --git a/docx/types/Path.md b/docx/types/Path.md index 966439b..336590e 100644 --- a/docx/types/Path.md +++ b/docx/types/Path.md @@ -1,9 +1,11 @@ # Path -表示文件系统路径的类型 +表示文件系统路径的类型。 ```python +p = 'c:/windows' + ``` # Paths \ No newline at end of file diff --git a/docx/types/Slice.md b/docx/types/Slice.md new file mode 100644 index 0000000..dc163b9 --- /dev/null +++ b/docx/types/Slice.md @@ -0,0 +1,26 @@ +# Slice + +Python 内置函数 slice() 返回一个切片对象,用于切取任何序列(字符串、元组、列表、range 或字节序列)等。 + + +````python +text = 'Hello, winui++!' + +sliced = slice(3) + +sliced +# slice(None, 3, None) + +type(sliced) +# slice + +text[sliced] +# 'hel' + +```` +* start -- 切片开始位置。如果未提供,则默认为 `None`。 +* stop -- 结束位置,切片在索引 `stop - 1`(最后一个元素)处停止。 +* step -- 步长,用于确定切片的每个索引之间的增量。如果未提供,则默认为 `None`。 + +因此,*slice* 对象有以上三个信息,没有指定的会为 `None`。如果 *start* 为 `None`,则从 `0` 开始。如果 *step* 为 `None` ,步长缺省为 `1`。 + diff --git a/docx/types/Tuple.md b/docx/types/Tuple.md index 8dcee2f..dfa5c7f 100644 --- a/docx/types/Tuple.md +++ b/docx/types/Tuple.md @@ -1,3 +1,8 @@ # Tuple -Class `Tuple`, 元组。 \ No newline at end of file +元组(tuple)是不可变的 *Python* 对象。元组是一种序列,就像列表一样,都可以描述一组数据的集合,它们都是容器,是一系列组合的对象。元组和列表之间的主要区别是元组不能像列表那样改变元素的值,可以简单地理解为 "只读列表"。 元组使用小括号: `()`,而列表使用方括号:`[]` 。 + + +````python +num = (7, 14, 21, 28, 35) +```` \ No newline at end of file diff --git a/docx/types/Url.md b/docx/types/Url.md index 7964ab2..c344cfc 100644 --- a/docx/types/Url.md +++ b/docx/types/Url.md @@ -1,7 +1,19 @@ # Url -Class `# Url`, 网址 +Class `Url`, 定义表示统一资源标识符 (URL) 值的对象,简称:网址。 ## 属性 + + + +## 示例 + +此示例创建一个 Url 对象,该对象表示使用`http`协议访问网站 。 + +````python + +url = Url("http://www.winui.net") + +```` \ No newline at end of file diff --git a/mouse/CellMove.simple b/mouse/CellMove.simple new file mode 100644 index 0000000..42a7a2a Binary files /dev/null and b/mouse/CellMove.simple differ diff --git a/mouse/list.simple b/mouse/list.simple new file mode 100644 index 0000000..5db260c Binary files /dev/null and b/mouse/list.simple differ diff --git a/mouse/strings.simple b/mouse/strings.simple new file mode 100644 index 0000000..a17d293 Binary files /dev/null and b/mouse/strings.simple differ diff --git a/system/AttachProcess.simple b/system/AttachProcess.simple new file mode 100644 index 0000000..1f48126 Binary files /dev/null and b/system/AttachProcess.simple differ diff --git a/system/ReadMemory.simple b/system/ReadMemory.simple new file mode 100644 index 0000000..11b4825 Binary files /dev/null and b/system/ReadMemory.simple differ diff --git a/system/WriteMemory.simple b/system/WriteMemory.simple new file mode 100644 index 0000000..fb709b7 Binary files /dev/null and b/system/WriteMemory.simple differ diff --git a/type/boolean.simple b/type/boolean.simple new file mode 100644 index 0000000..df8113f Binary files /dev/null and b/type/boolean.simple differ diff --git a/type/camera.simple b/type/camera.simple new file mode 100644 index 0000000..7812843 Binary files /dev/null and b/type/camera.simple differ diff --git a/type/color.simple b/type/color.simple new file mode 100644 index 0000000..4441505 Binary files /dev/null and b/type/color.simple differ diff --git a/type/dict.simple b/type/dict.simple new file mode 100644 index 0000000..41ca028 Binary files /dev/null and b/type/dict.simple differ diff --git a/type/dir.simple b/type/dir.simple new file mode 100644 index 0000000..bec4dd4 Binary files /dev/null and b/type/dir.simple differ diff --git a/type/file.simple b/type/file.simple new file mode 100644 index 0000000..7d98f1f Binary files /dev/null and b/type/file.simple differ diff --git a/type/host.simple b/type/host.simple new file mode 100644 index 0000000..0878ca5 Binary files /dev/null and b/type/host.simple differ diff --git a/type/model.simple b/type/model.simple new file mode 100644 index 0000000..1bdc4f8 Binary files /dev/null and b/type/model.simple differ diff --git a/type/num.simple b/type/num.simple new file mode 100644 index 0000000..3bf048d Binary files /dev/null and b/type/num.simple differ diff --git a/type/password.simple b/type/password.simple new file mode 100644 index 0000000..9644524 Binary files /dev/null and b/type/password.simple differ diff --git a/type/point.simple b/type/point.simple new file mode 100644 index 0000000..9f5dc2a Binary files /dev/null and b/type/point.simple differ diff --git a/type/ptr.simple b/type/ptr.simple new file mode 100644 index 0000000..1cbab87 Binary files /dev/null and b/type/ptr.simple differ diff --git a/type/rect.simple b/type/rect.simple new file mode 100644 index 0000000..5f20f85 Binary files /dev/null and b/type/rect.simple differ diff --git a/type/resource.simple b/type/resource.simple new file mode 100644 index 0000000..93d8614 Binary files /dev/null and b/type/resource.simple differ diff --git a/type/scalar.simple b/type/scalar.simple new file mode 100644 index 0000000..1996986 Binary files /dev/null and b/type/scalar.simple differ diff --git a/type/shortcut.simple b/type/shortcut.simple new file mode 100644 index 0000000..2d261cf Binary files /dev/null and b/type/shortcut.simple differ diff --git a/type/slice.simple b/type/slice.simple new file mode 100644 index 0000000..2c7dc15 Binary files /dev/null and b/type/slice.simple differ diff --git a/type/string.simple b/type/string.simple new file mode 100644 index 0000000..9e8467e Binary files /dev/null and b/type/string.simple differ diff --git a/type/tuple.simple b/type/tuple.simple new file mode 100644 index 0000000..22e1e4e Binary files /dev/null and b/type/tuple.simple differ diff --git a/type/url.simple b/type/url.simple new file mode 100644 index 0000000..1fb0b6f Binary files /dev/null and b/type/url.simple differ