在C#的WinForms应用程序(基于.NET 3.5,大概4.0 soonish),你会怎么去让用户自己定义宏?例如,用户可能想要的按键CTRL + K来表示单击某个项目中的菜单,并通过进入菜单打开的对话框中一些文字,按下“确定”按钮关闭对话框之前。

在理想情况下,我们的软件可以提供宏录制功能,这将使用户能够直接开始录音,执行所需的任务,并停止记录到有宏可用。这是他们从旧版本的软件,这是写在FoxPro中,有内置的这种能力的一个工具使用到的功能。

对我们来说,最好的办法清楚地获取和利用的某些种类的久经考验的第三方库,但对于轧制我们自己的版本的想法也很受青睐。

没有正确的解决方案

其他提示

如果我正在处理这样的事情,我或许会整合通用事件处理程序来记录事件,你想记录的(也许无论是作为个人的处理程序添加到可用按钮或通过创建RecordedEventHandler类继承事件处理程序和然后继承所有的事件从处理 - 这些都只是顶级的头的想法,所以我还没有研究这将是最可行的),只是用“录制宏”按钮为一个开关。只有可能是几个不同类型的事件要记录的需要 - 按钮点击,键盘输入的任何文本字段,键盘快捷键和鼠标输入任何鼠标输入字段,所以它不是,虽然当然工作的一个极其繁重的任务如何存储和绑定宏,以及如何,如果你倾向于这样做有利于进口和出口等是费时,但不是技术上的挑战。我不知道这个目的的任何图书馆的(虽然我期待一些存在的话),并考虑这件事我不知道这将是多么容易类似的东西整合,因为大多数人的在宏方面的需求很可能是不同。

如果您需要能够登录在你的应用程序事件,那么你可能会发现 ManagedWinApi 是有帮助的。

我有“命令设计模式”为宏记录functionaly良好的体验。每个命令火信息阿布参数等一些应用程序范围(静态例如)事件...记录器听这个事件和持续命令调用的序列。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top