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

C# 在另一个应用程序中启用复选框?,c#,forms,checkbox,financial,C#,Forms,Checkbox,Financial,我已经能够在我的C#Forms程序中启动这个程序(ninjatrader) 我还想启用名为“Enabled”的复选框。到目前为止,我还没有找到这样做的方法。我可以通过C#中的witing指示器直接访问Ninjatrader,但没有关于如何/是否启用复选框的文档。有人有什么想法吗非常感谢 您很可能希望这样走下去: 获取复选框的句柄 使用spy++之类的工具(或等效工具)获取复选框的句柄 一旦你有了句柄,你就需要向它发送一条windows消息。有多种方法可以做到这一点。只有一种方法。一旦你有了

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


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

您很可能希望这样走下去:

  • 获取复选框的句柄

    • 使用spy++之类的工具(或等效工具)获取复选框的句柄
  • 一旦你有了句柄,你就需要向它发送一条windows消息。有多种方法可以做到这一点。只有一种方法。一旦你有了句柄,就有了一些示例代码

  • 还有各种各样的库可以帮助实现本机函数。


    您还可以沿着只使用代码的路线,枚举该进程的所有句柄并找到复选框

    只有当NinjaTrader公开某种编程接口时,才能这样做。大多数交易应用都有,去看看吧。你已经搜索过他们的帮助了吗?可能是下面或下面的东西。如果这样做没有帮助,您可以在中搜索(或在那里提问)。使用SendMessage和PostMessage可以做到这一点,但代码太长,无法执行StackOverflow。这个例子可能会对你有所帮助:谢谢你的想法,我已经搜索了帮助,以前也有人问过这个问题。忍者交易者说这不能从忍者脚本内部完成。。。我要再挖一些。既然忍者脚本是C#,我肯定有办法。这些都是我不知道的很棒的资源。非常感谢你!
    private Process process;
    process = System.Diagnostics.Process.Start(@"C:\Program Files (x86)\NinjaTrader 8\bin64\NinjaTrader");