Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
1 / 1 / 0
Регистрация: 16.10.2019
Сообщений: 49

При нажатии Button открыть VNC-Viewer

16.12.2019, 14:05. Показов 3001. Ответов 15

Студворк — интернет-сервис помощи студентам
Здравствуйте. Как сделать так, чтобы при нажатии на баттон открывать VNC Viewer и в автомате пройти аутентификацию, так, чтобы в код вставить его ip и пароль? Хотелось бы сделать это для того, чтобы постоянно не вбивать пароли при заходе в VNC. Спасибо.

Добавлено через 3 часа 29 минут
Например вначале это могло бы выглядеть так:
C#
1
2
3
System.Diagnostics.Process Proc = new System.Diagnostics.Process();
Proc.StartInfo.FileName = "tvnviewer.exe";
Proc.Start();
Но дальше вылазит окно аутентификации. Его бы тоже преодолеть программно... Подскажите пожалуйста

Добавлено через 37 минут
Лучше так:

C#
1
2
strring path = (@"Путь к VNC Viewer'у")
process.start(path);
Подскажите пожалуйста, как пройти аутентификацию ip-pass?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.12.2019, 14:05
Ответы с готовыми решениями:

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

При нажатии на Button каждый раз создается новый компонент (button/label/textbox)
Как реализовать?

Создание button без заднего фона, и подключение коротких звуков при нажатии button
Т.к. я только начинающий юзер C#, хотел бы спросить, если кто сможет подсказать, как убрать задний фон на баттоне, что б он вливался в фон...

15
1 / 1 / 0
Регистрация: 16.10.2019
Сообщений: 49
17.12.2019, 12:44  [ТС]
Вообщем накидал таким образом, думал что-то получится, но получается только до окошка ввода пароля, т.е. программа находит и открывает VNCViewer, вводит локальный ip-адресс а дальше не проходит((( Выходит окошечко с просьбой ввести известный пароль напр. "Pass123".

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public static SecureString ReadPassword(string password)
 
   {
       SecureString secPass = new SecureString();
       for (int i = 0; i < password.Length; i++)
       secPass.AppendChar(password[i]);
       return secPass;
   }
 
public void Button1_Click(object sender, EventArgs e)
 
   {
       string userpassword = "Pass123";
       Process proc = new Process();
       proc.StartInfo.FileName = (@"C:\Program Files\TightVNC\tvnviewer.exe");
       proc.StartInfo.Arguments = "10.2.2.111";
       proc.StartInfo.Password = ReadPassword(userpassword);
       proc.StartInfo.UseShellExecute=false;
       proc.Start();
       proc.WaitForExit();
       
   }
Есть какие-то мысли как перейти за пароль??
0
18 / 16 / 0
Регистрация: 03.01.2018
Сообщений: 208
Записей в блоге: 1
17.12.2019, 13:22
Kote_Gaeshi, можешь слать нажатия клавиш
1
1 / 1 / 0
Регистрация: 16.10.2019
Сообщений: 49
17.12.2019, 14:43  [ТС]
Ума не приложу как это сделать... (

Добавлено через 7 минут
Типо того что то делаю, но ничего толком не выходит. Ошибку выдает студия


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public void Button1_Click(object sender, EventArgs e)
 
    {
 
       int WM_KEYDOWN = 0x0102;
 
       Process proc = new Process();
        proc.StartInfo.FileName = (@"C:\Program Files\TightVNC\tvnviewer.exe");
         proc.StartInfo.Arguments = "10.2.2.111";
           proc.Start();
 
             proc.WaitForInputIdle();
               string g = proc.MainWindowHandle.ToString();
                  int j = SendMessage(int.Parse(g), WM_KEYDOWN, ((int)Keys.D1),0);
 
      }
 
private int SendMessage(int v1, int wM_KEYDOWN, int vK_A, int v2)
 
     {
        throw new NotImplementedException();
     }
0
1168 / 886 / 517
Регистрация: 09.04.2014
Сообщений: 2,102
17.12.2019, 14:57
Цитата Сообщение от Kote_Gaeshi Посмотреть сообщение
Ошибку выдает студия
не эту ли?
Цитата Сообщение от Kote_Gaeshi Посмотреть сообщение
throw new NotImplementedException();
1
1 / 1 / 0
Регистрация: 16.10.2019
Сообщений: 49
17.12.2019, 15:32  [ТС]
Именно ее и выдает: Метод или операция не реализована
0
1168 / 886 / 517
Регистрация: 09.04.2014
Сообщений: 2,102
17.12.2019, 17:45
Цитата Сообщение от Kote_Gaeshi Посмотреть сообщение
Именно ее и выдает: Метод или операция не реализована
вместо вашего нериализованного метода (уберите строки 18-22)
C#
1
2
[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern int SendMessage(int hWnd, int Msg, int wParam, int lParam);
1
1 / 1 / 0
Регистрация: 16.10.2019
Сообщений: 49
18.12.2019, 08:37  [ТС]
Спасибо большое Вам за то что не остались безразличны к данному вопросу!
Переписал код как вы посоветовали, но почему-то ничего особо не изменилось, также выходит окошко ввода пароля. Передаваемый символ "1" в текстбокс VNC не вписывается.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public void Button1_Click(object sender, EventArgs e)
 
    {
           int WM_CHAR = 0x0102;
           Process proc = new Process();
           proc.StartInfo.FileName = (@"C:\Program Files\TightVNC\tvnviewer.exe");
           proc.StartInfo.Arguments = "10.2.2.111";
           //proc.StartInfo.UseShellExecute=false;
           proc.Start();
           proc.WaitForInputIdle();
 
           string g = proc.MainWindowHandle.ToString();
           int j = SendMessage(int.Parse(g), WM_CHAR, (int)Keys.D1,0);
     }
 
           [System.Runtime.InteropServices.DllImport("user32.dll")]
           public static extern int SendMessage(int hWnd, int Msg, int wParam, int iParam);
Еще я попробовал поменять тип передаваемых на CHAR
0
1 / 1 / 0
Регистрация: 16.10.2019
Сообщений: 49
19.12.2019, 10:56  [ТС]
Ребят, может есть еще у кого мысли как сделать или где ошибка?

Добавлено через 2 часа 28 минут
Пробовал даже вместо VNC блокнот открывать, но и туда символ не пишется...
0
32 / 14 / 6
Регистрация: 11.04.2014
Сообщений: 240
20.12.2019, 08:40
C#
1
2
3
4
5
6
string hostvnc = textBox1.Text; /*ip к чему будешь коннектится*/
string gpass = "1234";
                        ProcessStartInfo VNC = new ProcessStartInfo();
                        VNC.FileName = Application.StartupPath + "\\vncviewer.exe";/*путь к vncviewer*/
                        VNC.Arguments = hostvnc + " -password " + gpass + "";
                        Process.Start(VNC);/*запускаем*/
1
32 / 14 / 6
Регистрация: 11.04.2014
Сообщений: 240
20.12.2019, 08:48
Я использую UltraVNC Viewer ссылка. можешь закинуть его прогу и запускать (1 файл - exe)
vncviewer.rar
0
1 / 1 / 0
Регистрация: 16.10.2019
Сообщений: 49
24.12.2019, 08:29  [ТС]
По всякому попробовал, VNC ошибку выдает: Error in format of command line. В хелпе TightVNC почитал, команда -password существует. VNCviewer поменять нельзя, необходимо реализовать именно с этим)

C#
1
2
3
4
5
6
7
8
9
10
11
12
 public void Button1_Click(object sender, EventArgs e)
        {
            
 
            string hostname = "10.2.3.103"; /*ip к чему будешь коннектится*/
            string gpass = "1";
            ProcessStartInfo VNC = new ProcessStartInfo();
            VNC.FileName = (@"C:\Program Files\TightVNC\tvnviewer.exe");/*путь к vncviewer*/
            VNC.Arguments = hostname + " -password " + gpass + " ";
            Process.Start(VNC);/*запускаем*/
 
        }
Миниатюры
При нажатии Button открыть VNC-Viewer  
0
1 / 1 / 0
Регистрация: 16.10.2019
Сообщений: 49
24.12.2019, 08:53  [ТС]
Т.е. ошибка где то тут, после " -password ", потому что, если убрать + gpass + " ", то до аутентификации он доходит, но законнектиться не может, потому что нет пароля
C#
1
VNC.Arguments = hostname + " -password " + gpass + " ";
0
32 / 14 / 6
Регистрация: 11.04.2014
Сообщений: 240
24.12.2019, 13:18
Лучший ответ Сообщение было отмечено Kote_Gaeshi как решение

Решение

попробуй так:

C#
1
VNC.Arguments = hostname + " -password =" + gpass;
1
1 / 1 / 0
Регистрация: 16.10.2019
Сообщений: 49
25.12.2019, 07:20  [ТС]
Спасибо большое витаминчик!!! Все заработало. Но только без пробела перед = (-password=) С наступающими праздниками!!!

C#
1
VNC.Arguments = hostname + " -password=" + gpass;
1
32 / 14 / 6
Регистрация: 11.04.2014
Сообщений: 240
25.12.2019, 07:36
Kote_Gaeshi, Спасибо, взаимно!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.12.2019, 07:36
Помогаю со студенческими работами здесь

Как при нажатии на кнопку Button открыть PopupMenu?
как при нажатии на кнопку(button) открыть popMenu?

Как сделать, чтобы при нажатии кнопки Push Button загоралась та или иная кнопка Radio Button
вопрос: Как сделать,чтобы при нажатие кнопки Push Botton загоралась та или иная кнопка Radio Button?

Открыть закрыть блок при нажатии по ссылке и закрыть его при нажатии вне этого блока
Здравствуйте, несколько дней уже пытаюсь решить задачу, мне нужно сделать блок с авторизацией. Нужно что бы при нажатии на ссылку блок...

Звук при нажатии Button
Доброго времени суток господа, такая проблема перепробовал много чего лазая по гуглу. Мой пример кода перестал выдавать ошибки, но и...

Валидация при нажатии на button
У меня есть кнопка type=button (нужно именно ее). При нажатии на эту кнопку должна пройти проверка на заполнение форм, и с помощью...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru