1

我想让 SlickEdit 控制另一个窗口。

我知道如何使用某些窗口的 api 来完成这项工作,但我不确定如何在 SlickEdit 中实现这一点。我假设将使用 Slick-C(SlickEdit 的宏语言)。我在 Slick-C 中做了一些有限的编码,但我不确定是否可以运行窗口 api。

这是我想要使用 Windows API 完成的。

  • BringWindowToTop(这会将另一个窗口带到顶部)
  • 设置前景窗口
  • 使用 SendKey 模拟在另一个窗口中按 F7。
  • SendKey 是 WScript.Shell 中的一个方法。

这听起来很简单,我只需要知道如何在 SlickEdit 中进行操作。

更新:

我几乎使用了jussij概述的概念,但使用的是一种我熟悉的语言,称为 PL/B。我已经让大多数这些 API 为另一个进程工作,因此创建这个新程序并让 SlickEdit shell 运行该程序非常容易。

这是 SlickEdit 内部需要的:

_command BenShellSAV1P198() name_info(','VSARG2_MACRO|VSARG2_MARK|VSARG2_REQUIRES_MDI_EDITORCTL|VSARG2_READ_ONLY)
{
   save_all();
   shell("T:\\Sunbelt\\CODE\\plbwin.exe -h -i PlbBenTDSm.INI SAV1P198.PLC","N");
}

然后我将该宏绑定到一个热键,一切正常。

4

1 回答 1

3

SendKey 是 WScript.Shell 中的一个方法。

我很确定您所描述的一切都可以在 WScript 级别完成。

因此,您可以编写一个完成所有工作的脚本,一旦它工作,只需通过使用cscript.exe可执行文件运行脚本将其作为工具添加到 SlickEdit 。

于 2009-09-28T00:13:57.397 回答