C #: ошибка входа в систему: неизвестное имя пользователя или неверный пароль при использовании метода PROCESS.START () - PullRequest
0 голосов
/ 31 марта 2012

Я попытался войти в gmail с кодом:

private void button1_Click(object sender, EventArgs e)
{
    var user = new SecureString();
    foreach (char c in textBox3.Text)
    {
        user.AppendChar(c);
    }

    Process.Start("C:/Users/Indish/Desktop/chrome",
        "www.gmail.com", user, textBox4.Text);
}

Программа сообщает об ошибке входа, как указано в вопросе. Так что, если кто-то может помочь ......... Спасибозаранее

Ответы [ 2 ]

5 голосов
/ 31 марта 2012

Прежде всего, вы используете неправильные параметры для перегрузки метода, который вы используете.Параметры:

Process.Start(fileName, userName, password, domain)

Итак, вы отправляете www.gmail.com как имя пользователя, а имя пользователя как пароль, поэтому вы получаете сообщение об ошибке, что при входе в систему не удается.

Вам необходимо использовать перегрузку, которая принимает пять параметров для отправки аргументов и входа в метод:

Process.Start(fileName, arguments, userName, password, domain)

Однако это используется для предоставления имени входа для учетной записи пользователя, которая используется для запуска программы, а неотправка регистрационной информации в программу.

Если веб-страница поддерживает это, вы можете отправить регистрационную информацию в URL:

Process.Start("C:/Users/Indish/Desktop/chrome", user + ":" + textBox4.Text + "@www.gmail.com");

В противном случае вам потребуется встроить элемент управления браузера в свойпрограмма для доступа к форме после ее загрузки.

0 голосов
/ 31 марта 2012

Я могу вам помочь, однако, где код, который вы используете для взаимодействия HTML?Может быть, я недоразумение.Публикуете ли вы эти переменные на веб-сервере и проверяете ли вы ответ, или вы используете метод без возврата, чтобы просто войти в систему?

- РЕДАКТИРОВАТЬ -

Я извиняюсь, янемного нового для операций Stack Overflow.Для этого вам нужно использовать webBrowser1.Document.GetElementById("IDNAME").SetAttribute("value", "data to put in"); в веб-браузере внутри приложения.В случае FaceBook HTML-код веб-сайта уже содержит тег, встроенный в поле, которое вы пытаетесь установить.

Таким образом, имея в виду, вы можете использовать HTML-идентификатор тега, заменив "IDNAME "с" электронной почтой ", как и идентификатор для этого поля в FaceBook.Вы можете сделать это для всего процесса входа в систему (включая использование webBrowser1.Document.GetElementByID("ID OF THE BUTTON HERE").InvokeMember("click");

. Обычно вы можете получить доступ к консоли разработчика, как показано в моем Chrome ниже, через F12 или CTRL + SHIRT + C вChrome, F12 с FireBug в FireFox и F12 в IE. Вы ищете инструмент под названием «Проверка элемента» для поиска идентификатора.

...