-1

我需要能够从命令行运行 Windows 窗体函数或事件(例如单击按钮)。我怎么能这样做?

由于某些限制,我无法使用控制台或 Windows 服务。

4

2 回答 2

0

如果您的意思是在命令行(控制台)应用程序中重用 Windows 窗体应用程序中的方法,则只需引用包含该类的程序集并调用该方法,有点像这样

static void Main()
{
    Form1 form = new Form1();
    form.SomeButton_Click();
}

请注意,要使其正常工作,SomeButton_Click方法Form1类必须是公共的。如果这是您想要做的,那么这很好地表明SomeButton_Click应该将其中包含的逻辑重构为一些常见的实用程序类。

如果您想在正在运行的 Windows 窗体应用程序中模拟按钮单击,那么您有几个选择

  • Windows 自动化(从代码模拟鼠标和键盘事件)
  • 进程间通信(从命令行程序向 Windows 窗体程序发送消息,要求它运行该方法)

有许多不同的方法可以实现其中任何一个,但是两者都比调用方法更复杂 - 如果您提供有关问题的更多详细信息,这将有所帮助。

于 2012-08-20T10:39:56.543 回答
0

您可以使用 Powershell 脚本执行此操作:使用 Windows PowerShell 的 UI 自动化

于 2012-08-20T10:46:28.357 回答