# 命令行接口 **Repository Path**: zijian666/ccli ## Basic Information - **Project Name**: 命令行接口 - **Description**: 用于给winform项目添加命令行 - **Primary Language**: C# - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2021-11-04 - **Last Updated**: 2025-10-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 命令行接口 ### 介绍 用于给winform项目添加命令行 ### 更新日志 [点击查看](/src/Ccli/UPLOGS.md) ### 安装教程 [nuget - Ccli](https://www.nuget.org/packages/zijian666.ccli) ### 项目示例 [点击查看](src/WinFormsApp1/) ### 使用说明 #### 0. 循环阻塞接收命令 ```csharp // 0. 打开控制台(本地命令行接口),参数为任意空闲端口号 Ccli.OpenConsole(8037); // 1. 连接本地或远程命令行接口 // 同时只能有一个方法处于接收状态, 重复调用会返回null foreach (var command in Ccli.ConnectAndReceives(8037, "127.0.0.1")!) { MessageBox.Show(command); } ``` #### 1. 事件方式接收命令 ```csharp // 0. 添加接收命令事件 Ccli.Rceiver += (sender, command) => MessageBox.Show(command); // 1. 打开控制台(本地命令行接口),参数为任意空闲端口号 Ccli.OpenConsole(8037); // 2. 连接本地命令行接口 Ccli.Connect(8037, "127.0.0.1"); ``` #### 2. 绑定命令行实例 ```csharp // 0. 命令行执行类 class Cli { private readonly Form _frm; public Cli(Form frm) => _frm = frm; [Description("修改主窗口标题")] public void Title(string str) => _frm.Invoke(new Action(() => _frm.Text = str)); [Description("打印日志到控制台")] public void Log(string message) => Console.WriteLine(message ?? "<@null>"); } // 1. 绑定实例 Ccli.BindCli(new Cli(MainForm)); // 2. 打开控制台(本地命令行接口),参数为任意空闲端口号 Ccli.OpenConsole(8037); // 3. 连接本地命令行接口 Ccli.Connect(8037, "127.0.0.1"); ``` ![](images/image1.png "示例图片") #### 注意事项 > 暂无