我如何在应用程序中执行交互式教程?

本文关键字:执行 交互式 教程 应用程序 | 更新日期: 2023-09-27 18:09:29

我有Word的c#插件,并希望实现像游戏通常具有的交互式教程。我想以某种方式突出显示(可能通过圈)某些视觉元素,并显示描述元素功能的文本框。例如,假设外接程序是一个通用工作流编辑器。我想一步一步地向用户展示,通过可视化地选择元素,并解释它们的作用和他有什么选择,需要做什么。我的第一个问题是:这可以在c#中完成吗?我的第二个问题是怎么做?:)我想我必须得到所述视觉元素的位置,然后在上面画一个图像,但我不知道如何做到这一点。

我如何在应用程序中执行交互式教程?

我有点失望,甚至没有一个Stack Overflow社区的成员花时间至少给一点提示。但这就是生活,我只是想在这里分享我的发现,因为我相信其他人会从中受益。

要能够做一个交互式教程,你需要三个东西:

  • 根据屏幕坐标查找控件所在位置的方法
  • 一个方法,通过突出显示控件或将控件指向用户例如,用红线把它围起来。
  • 一个方法来做它的默认动作(例如:点击一个按钮)。

换句话说,这个想法是有某种窗口,其中有文字描述控件和一些图形方式来指示应用程序中的控件。可选地,窗口可以提供类似ShowMe按钮的东西,显示用户如何通过控制鼠标和键盘来使用控件。

如果控件是由您自己制作的,因此可以访问源代码,那么这是微不足道的。然而,当为Word这样的黑盒应用程序做这样的事情时,你可以使用Windows IAccessible界面。用你最喜欢的搜索引擎搜索它,你就会得到理解和使用它所需要的一切。IAccessible允许人们做很多事情,但最重要的是它可以获得控件的位置,也可以执行默认操作。

整理好这些东西后,下一步是弄清楚如何以图形方式指出控件。有很多方法可以做到这一点,但在我的例子中,我选择用一个红色矩形包围它。为此,我创建了一个不可见的、无边界的窗体,上面有一个空的红色矩形。有了控件的位置和大小,在控件上放置上述表单就没有问题了。

就是这样了。我列出了为任何应用制作交互式教程所需的构建块。