Форум программистов, компьютерный форум, киберфорум
Delphi: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
1 / 1 / 0
Регистрация: 17.06.2019
Сообщений: 10
1
Delphi 6-7

Программное закрытие Plinc.txt

24.06.2019, 20:08. Показов 1478. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Коллеги, нужно программно закрыть сессию и окно CMD, в котором был запущен Plinc.exe для создания SSH-туннеля.
Plinc.exe запускаю bat-файлом и командой: Start Plinc.exe -batch -ssh .....
Если у кого-то из мастеров форума есть решение, буду благодарен.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.06.2019, 20:08
Ответы с готовыми решениями:

Программное закрытие popupmenu
Привет. Форма, на ней таймер и попап меню. Таймер отслеживает нажатие ctrl и выводит попапменю в...

Программное закрытие окон из с++
Здравствуйте! Столкнулся с проблемой. Из программы открываются файлы jpg с помощью ...

Программное закрытие Access
Можно ли из модуля закрыть текущую базу данных и открыть другую. Хочу осуществить сжатие базы, для...

Программное закрытие процесса
Господа Программисты Можно ли программно закрыть выполняющийся процесс, как через диспетчер...

4
Модератор
9261 / 6039 / 2379
Регистрация: 21.01.2014
Сообщений: 25,802
Записей в блоге: 3
25.06.2019, 17:25 2
Дык он сам должен благополучно закрыться, если не произошло никаких непредвиденных ситуаций...
1
1 / 1 / 0
Регистрация: 17.06.2019
Сообщений: 10
03.07.2019, 11:33  [ТС] 3
Уважаемый D1973!
Дело в том, что при запуске Plink.exe с помощью бат-файла на экране дисплея появляется черное окно, которое "торчит" пока пользователь не закроет его принудительно.
После длительных поисков в Интернете удалось найти более-менее подходящее решение: укладывать cmd-окно в панель задач, что уже почти не раздражает пользователей.
Командная строка выглядит таким образом:

Start /min plink.exe -batch -ssh "идентификатор@мой хостинг.ru -pw "пароль доступа к SSH" -P 22 -N -L 3307:localhost:3306

Благодарю за соучастие
0
Модератор
9261 / 6039 / 2379
Регистрация: 21.01.2014
Сообщений: 25,802
Записей в блоге: 3
04.07.2019, 08:45 4
YuGra, тут может быть несколько решений:
1. Не использовать команду Start, чтобы не инициировать запуск этой утилиты отдельным процессом.
2. Поставить в батнике последней строчкой комманду
Windows Batch file
1
TASKKILL /F /IM cmd.exe /T
3. Почитать про CreateProcess (тыц, тыц, тыц, тыц и еще много чего в сети можно найти...) и вообще не использовать bat-файл.
1
1 / 1 / 0
Регистрация: 17.06.2019
Сообщений: 10
06.07.2019, 20:21  [ТС] 5
Уважаемый D1973!
Благодарю за Ваше желание помочь.
Попробовал использовать Ваш совет: не использовать команду Start.
Не работает. Канал SSH не создается без открытого окна plink.exe.
Вставил последней строчкой команду: TASKKILL /F /IM cmd.exe /T - никаких изменений (при различных редакциях первой команды).
К версии с батником пришлось обратиться после неудачных попыток использовать библиотеки DelphiCryptlib и Cryptlib.
В часто рекомендуемых вариантах:
------------------------------------------------------------------------
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
functionSSH_Client(Server, Userid, Pass: string): TCryptSession;
  begin
    result := TCryptSession.Create(CRYPT_SESSION_SSH);
    with result do begin
      ServerName := Server;
      UserName := Userid;
      Password := Pass;
    end;
    try
      result.Activate;
    except
      on E: ECryptError do 
      begin
        FreeAndNil(result);
      end;
    end;
  end;
------------------------------------------------------------------------
программа на строке "result.Activate" выходит на ошибки.
Код ошибки: -20 (CriptSetAttribute: This type of operation not available)
В других вариантах: -40, в том числе совсем непонятный: -2 (CriptSetAttribute: Bad argument, parameter 2)

D1973, если Вам приходилось решать эту задачу или Вы можете помочь её решить на коммерческой основе, был бы Вам благодарен.
С уважением, YuGra
0
06.07.2019, 20:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.07.2019, 20:21
Помогаю со студенческими работами здесь

Программное закрытие браузера
А кто знает как прграммно закрыть аппликацию в silverlight?Типа Application.Exit() или this.Close();

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

Программное открытие/закрытие дисковода
Добрый день, есть ли в qt возможность открыть и закрыть дисковод программно?

Программное закрытие других программ
Всем привет. Как сделать, чтобы при нажатии кнопки на форме, закрыть, допустим запущенный...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru