-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 に答える