private static bool GetCredentialsOldSchool(string captionText, string messageText, string userName, out NetworkCredential networkCredential) { StringBuilder stringBuilder = new StringBuilder(); StringBuilder stringBuilder2 = new StringBuilder(userName); PromptForCredentials.CREDUI_INFO cREDUI_INFO = default(PromptForCredentials.CREDUI_INFO); cREDUI_INFO.cbSize = Marshal.SizeOf(cREDUI_INFO); bool flag = false; cREDUI_INFO.pszCaptionText = captionText; PromptForCredentials.CREDUI_FLAGS flags = PromptForCredentials.CREDUI_FLAGS.ALWAYS_SHOW_UI | PromptForCredentials.CREDUI_FLAGS.GENERIC_CREDENTIALS; if (PromptForCredentials.CredUIPromptForCredentials(ref cREDUI_INFO, messageText, IntPtr.Zero, 0, stringBuilder2, 100, stringBuilder, 100, ref flag, flags) == PromptForCredentials.CredUIReturnCodes.NO_ERROR) { string userName2 = stringBuilder2.ToString(); string password = stringBuilder.ToString(); networkCredential = new NetworkCredential(userName2, password); return(true); } networkCredential = null; return(false); }
private static extern PromptForCredentials.CredUIReturnCodes CredUIPromptForCredentials(ref PromptForCredentials.CREDUI_INFO creditUR, string targetName, IntPtr reserved1, int iError, StringBuilder userName, int maxUserName, StringBuilder password, int maxPassword, [MarshalAs(UnmanagedType.Bool)] ref bool pfSave, PromptForCredentials.CREDUI_FLAGS flags);