2016-08-12 6 views
0

実行しようとしています。UIとコマンドラインの両方でWPFアプリケーションを実行します。コマンドラインモードでは、私は、コンソール上でいくつかのテキストを印刷していますし、System.Windows.Forms.SendKeys.SendWait( "{ENTER}")実行中にエラーが発生する

Console.WriteLine("Printing Something here"); 

System.Windows.Forms.SendKeys.SendWait("{ENTER}"); 

FreeConsole(); 

以下に示すが、実行中のSendKeysを持つ行がエラーをスローして後、私はのSendKeysを使用して、コンソールコントロールから出てきています。 コマンドラインモードでは、アプリケーションがクラッシュします。 Visual Studioの上でデバッグ中 しかし、私はコードが

は、この上の任意のヒントを提供してください実行している間

変更が許可されていないメッセージボックスに以下のメッセージを見てきました、なぜこれ投げるエラーです。私は必要な変更を加えることができます。アドバンス サーガル

+3

_コード実行中は変更が許可されていません_ Visual Studio自体によって_がスローされているようです。 keypressは、あなたのコードがタブで開かれているVSウィンドウに送られるかもしれません。 Enterキーを押すと、VSは実行時にコードを変更しようとしているときにそれを解釈します。 –

+0

Enterキーをコンソールウィンドウに送信する方法はありますか? – Sagar

+0

あなたは[あなたのウィンドウを最初に焦点を当てる]を試すことができます(http://stackoverflow.com/questions/10898560/how-to-set-focus-to-another-window) –

答えて

0

コマンドプロンプトプログラムで

おかげで、CMDのアプリはそれゆえのVisual Studioに「入力」、それは文句VS理由を送信しているUIにフォーカスを持っていないデバッグされています。歴史的に、SendKeysとWPFはひどい関係にあり、通常はお互いによく遊びません。 WPFベースのUIを「テスト」する場合は、wpf UIテストの自動化フレームワークを探します。彼らはUIで本当にうまく演奏し、あなたが実行する予定のものを正確にスクリプト化し、結果を記録することさえできます。

+0

答えはケビンです。私がここでやろうとしているのは、CMDアプリケーションにメッセージを表示することです。なぜなら、WPFアプリケーションを、必要に応じてUIとコマンドラインで実行する必要があるからです。コマンドラインを実行している間に、私はいくつかのメッセージを表示したらコマンドプロンプトから出る必要があります – Sagar

+0

より多くのNTierスタイルのコーディングに従うのは理にかなっていますか?このルートに行くのではなく、データアクセスライブラリとサービスライブラリ、CMDアプリケーションとWPFアプリケーションインターフェイスを作成しますか?私は今、似たようなボートに乗っています。私はウェブとwpfアプリケーションを作成しなければなりません。私は、サービス層を介してログとサービスコールを管理することができ、非常にうまく動作します。 –

関連する問題