2012-04-20 10 views
0

堅牢性の問題、安定性とあなたはさておき、このを行うべきではない、今までにコードを経由してプロンプト資格窓に充填誰も(そのためには、次のようになります一つだ:)Windows資格情報のプロンプトをプログラムで入力することは可能ですか?

windows security prompt

がそれですましたWin32 APIを介してこれらのダイアログボックスとやりとりしたり、SendKeys/sendマウス/ UIオートメーションを使用したりできますか?誰もが持っているアイデアやヒントは非常に高く評価されます!

+0

それはこのように思われます(http://stackoverflow.com/q/2841120/167018)が私が探しているものかもしれません - 一度私はそれを行く得る答えで更新されます:) –

答えて

0

をチェックでき、私は私が資格プロンプトへの参照をつかむために許可されUI Automation frameworkを、使用して終了しましたそれを記入してそのように完成させてください。

コードスニペット:

AutomationElement desktop = AutomationElement.RootElement; 
//get all windows on the desktop 
AutomationElementCollection windows = desktop.FindAll(TreeScope.Descendants, new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Window)); 
     foreach (AutomationElement window in windows) 
     { 
      if (window.Current.ClassName.Equals("#32770")) //security dialog 
      { 

       // access the appropriate AutomationElements to enter credentials here 

      } 
     } 

を要素と対話するには、適切なPatternオブジェクトを取得し、そのメソッドを呼び出します(たとえば、テキストボックス.SetValue()メソッドを持っているvaluePatternのを持って

I。また、.FindAll()やPropertyConditionsオブジェクトを通じて正しい項目を見つけるのに役立つように、ClassNames、AutomationIdsなどのすべての値を見つけるためにUISpyを使用しました。

関連する問題