Wpf 是否可以通过编程方式填写windows凭据提示?

Wpf 是否可以通过编程方式填写windows凭据提示?,wpf,winapi,windows-authentication,credentials,Wpf,Winapi,Windows Authentication,Credentials,健壮性、稳定性和您不应该这样做的问题,有没有人通过代码填写过windows凭据提示(看起来是这样的:) 是否可以通过Win32 API或使用SendKeys/send mouse/UI Automation与这些对话框交互?如果您有任何想法/建议,我们将不胜感激 使用一种简单的语言,可以编译成EXE,用于自动操作键盘和鼠标 或者您也可以从WPF中执行此操作: 或者用户可以简单地勾选“记住我的凭证”我最终使用了,这允许我获取凭证提示的引用,然后填写并以这种方式完成它 代码段: Automati

健壮性、稳定性和您不应该这样做的问题,有没有人通过代码填写过windows凭据提示(看起来是这样的:)

是否可以通过Win32 API或使用SendKeys/send mouse/UI Automation与这些对话框交互?如果您有任何想法/建议,我们将不胜感激

使用一种简单的语言,可以编译成EXE,用于自动操作键盘和鼠标

或者您也可以从WPF中执行此操作:

或者用户可以简单地勾选“记住我的凭证”

我最终使用了,这允许我获取凭证提示的引用,然后填写并以这种方式完成它

代码段:

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

            }
        }
要与元素交互,您需要获取适当的模式对象并调用其方法(例如,TextBox有一个ValuePattern,它有一个.SetValue()方法


我还使用UISpy查找类名、AutomationID等的所有值,以帮助通过.FindAll()和PropertyConditions对象找到正确的项。

看起来是这样的,所以问题()可能是我想要做的-一旦开始,将用答案更新:)