C# 在另一个应用程序中启用复选框?

C# Enable Checkbox In Another App?

我已经能够从我的 C# Forms 程序中启动这个程序 (ninjatrader)。

private Process process;
process = System.Diagnostics.Process.Start(@"C:\Program Files (x86)\NinjaTrader 8\bin64\NinjaTrader");

我还想启用名为 "Enabled" 的复选框。到目前为止,我还没有找到一种方法来做到这一点。我可以通过 C# 中的 witing 指标直接访问 Ninjatrader,但是没有关于如何/是否可以启用复选框的文档。有人有什么想法吗? - 非常感谢!

您很可能希望沿着这条路走下去:

  1. 获取复选框的句柄

    • 使用 spy++(或等效工具)之类的工具来获取复选框的句柄。 Check out this link
  2. 获得句柄后,您需要向其发送 windows 消息。有多种方法可以做到这一点。 The article I mentioned already has one way. This post 有一些示例代码,一旦你也有了句柄。

还有各种库可以帮助处理本机函数。 https://github.com/AArnott/pinvoke

https://github.com/prasannavl/WinApi

您还可以沿用纯代码的方式枚举该进程的所有句柄并找到复选框。