2017-10-10 17 views
0

私はかなり良いgooglerですが、私は今回はロードブロックを打った。アプリケーションICBusinessManagerのログインウィンドウを開くC#WinFormアプリケーションを作成しました。私が理解できないことは、自分のwinformを自動的にログインさせる方法です。 ICアプリのログインウィンドウには「ログオン」と「キャンセル」ボタンがあります。私はかなり新しい開発(現在は自主教育)しており、私が明確でない場合は事前に謝罪します。もっと具体的にする必要があるかどうか質問してください。C#WinForm Appからデスクトップアプリケーションに自動的にログインするには?

private void roboDialerBtn_Click(object sender, EventArgs e) 
{ 

      Process roboDialer = new Process(); 
      roboDialer.StartInfo.FileName = "ICBusinessManager.exe"; 
      roboDialer.StartInfo.Arguments = "ProcessStart.cs"; 
      roboDialer.Start(); 

     } 
+0

あまりにも広い答えがあります。 https://stackoverflow.com/questions/517694/ui-automation-selected-text – rene

+0

自動ツールを使用してユーザー名とパスワードを入力し、プロセスを開始した後に「ログオン」をクリックすることをお勧めします。 'Process'だけでこれを行う方法はありません。 Qaliber(自動化フレームワーク)を使ってこのようなことを成功させました。正直言って、その使い方は簡単ではありません。 –

答えて

0

あなたはSendKeysを使ってログインすることができます。 \t{enter}の任意の組み合わせを使用して、このような何かを試してみてください。コントロールのフォーカスを与える各入力オプションからタブする必要があります。 これはメモ帳を開き、メモ帳が開くのを少し待ってから、「username」、タブ文字、「パスワード」、タブ文字を入力して入力します。

var info = new ProcessStartInfo() { FileName = "Notepad.exe" }; 
new Process() { StartInfo = info }.Start(); 
System.Threading.Thread.Sleep(500); 
System.Windows.Forms.SendKeys.SendWait("username\tpassword\t{enter}"); 

あなたが起動しているアプリケーションに応じてProcess.WaitForInputIdle(int)の代わりThread.Sleep(int)を使用することができます。