Модераторы: feodorv, GremlinProg, xvr, Fixin

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сделать, чтобы putty открывалась при запуске 
V
    Опции темы
winsent7
Дата 24.1.2011, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 3.9.2010

Репутация: нет
Всего: нет



Здравствуйте, идея вот в чем: хочу модернизировать программу записи в файл так, чтобы она сама открывала putty и отправляла строки не в файл, а в сразу в устройство, основная проблема: как сделать, чтобы программа открывала терминал, может кто подскажет? 
PM MAIL   Вверх
RastaDja
Дата 24.1.2011, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 337
Регистрация: 1.11.2010

Репутация: нет
Всего: 5



если просто запустить, тогда ShellExecute() или WinExec()
Вот код для проводника
Код

ShellExecute(m_hWnd, "open", "c:\\windows\\explorer.exe", NULL, NULL, SW_SHOWNORMAL);

WinExec("c:\\windows\\explorer.exe",SW_SHOW);


Добавлено через 57 секунд
чуть не забыл smile , надо shellapi.h включить


--------------------
The more closely you look at one thing, the less closely can you see something else.
PM MAIL   Вверх
winsent7
Дата 25.1.2011, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 3.9.2010

Репутация: нет
Всего: нет



Спасибо. Еще поясните пож-ста.
1. А в чем разница, если ее нет,  то WinExec() короче  :scratch_, one-s_head, и что значит SW_SHOW ?
2. При запуске выводится сообщение о подтверждении запуска putty, как это в программе указать?
3. Потом еще надо параметры подключения выставлять(скорость, номер порта)
Вобщем хочется, чтобы программа сама все это сделала и предложила уже ввести логин и пароль входа в устройство.   
 


Это сообщение отредактировал(а) winsent7 - 25.1.2011, 09:54
PM MAIL   Вверх
jonie
Дата 25.1.2011, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 7
Всего: 118



WinExec не использовать - она устарела и будет удалена в дальнейшем.
Цитата

Note  This function is provided only for compatibility with 16-bit Windows. Applications should use the CreateProcess function.
(с) MSDN

Цитата

3. Потом еще надо параметры подключения выставлять(скорость, номер порта)

у патти есть коммандная строка - изучайте и прописывайте в неё что надо


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
winsent7
Дата 25.1.2011, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 3.9.2010

Репутация: нет
Всего: нет



Спасибо, буду изучать.
PM MAIL   Вверх
winsent7
Дата 26.1.2011, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 3.9.2010

Репутация: нет
Всего: нет



Не решается проблема запуска cmd - при выполнении программы появляется окно cmd, но написано там "Для продолжения нажмите любую клавишу...", после нажатия оной окно исчезает. Подскажите пож-ста что не так. Спасибо.
Код

#include <windows.h>

int main()
{
    
    ShellExecute(NULL,TEXT("open"),TEXT("c:\\windows\\cmd.exe"), NULL, NULL, SW_SHOWNORMAL);

        return 0;
}

 PS. с shellapi.h не работает почему-то (Visual 2008 EE)
PM MAIL   Вверх
xvr
Дата 26.1.2011, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Цитата(winsent7 @  26.1.2011,  11:13 Найти цитируемый пост)
Подскажите пож-ста что не так.
Не так путь к cmd. У меня на машине он лежит в C:\WINNT\system32\cmd.exe, на другой машине он может лежать в C:\windows\system32\cmd.exe, а на третьей вообще где угодно  smile (ну или почти где угодно)

Вопрос - нафига вам cmd? Вы же putty запускать собирались.



PM MAIL   Вверх
winsent7
Дата 26.1.2011, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 3.9.2010

Репутация: нет
Всего: нет



Цитата

Вопрос - нафига вам cmd? Вы же putty запускать собирались

так мне по-любому нужна функция запуска cmd, а потом из cmd уже запускать сессию putty,
может  так прокатит?
 
ShellExecute(NULL,TEXT("open"),TEXT("c:\\windows\\system32\\cmd.exe\\putty -load "session""), NULL, NULL, SW_SHOWNORMAL);

Добавлено @ 12:04
не прокатило...

мне сразу надо в корневой попасть, это наверное в пятом параметре указывается?



Это сообщение отредактировал(а) winsent7 - 26.1.2011, 12:19
PM MAIL   Вверх
xvr
Дата 26.1.2011, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Цитата(winsent7 @  26.1.2011,  11:55 Найти цитируемый пост)
так мне по-любому нужна функция запуска cmd, а потом из cmd уже запускать сессию putty,
Не надо, запускайте сразу putty, он же не .bat файл, что бы cmd им кормить  smile 

Цитата(winsent7 @  26.1.2011,  11:55 Найти цитируемый пост)
может  так прокатит?
Нет

Код

ShellExecute(NULL,TEXT("open"),TEXT("putty"),TEXT("-load \"session\""), NULL, SW_SHOWNORMAL); 


PM MAIL   Вверх
winsent7
Дата 26.1.2011, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 3.9.2010

Репутация: нет
Всего: нет



В таком виде
Код

#include <windows.h>



int main()
{
    
    ShellExecute(NULL,TEXT("open"),TEXT("putty"),TEXT(" -load \"session\""),NULL, SW_SHOWNORMAL);

        return 0;
}

 результат
Цитата

при выполнении программы появляется окно cmd, но написано там "Для продолжения нажмите любую клавишу...", после нажатия оной окно исчезает.

буду пробовать разобраться, спасибо

Это сообщение отредактировал(а) winsent7 - 26.1.2011, 15:02
PM MAIL   Вверх
xvr
Дата 26.1.2011, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Цитата(winsent7 @  26.1.2011,  12:59 Найти цитируемый пост)
результат
У вас на putty пути прописаны? Если просто открыть окно cmd и набрать там putty, что получается?


PM MAIL   Вверх
winsent7
Дата 28.1.2011, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 3.9.2010

Репутация: нет
Всего: нет



Цитата

Если просто открыть окно cmd и набрать там putty, что получается?

запускается, но если предварительно положить ее в место где по умолчанию открывается cmd(может подскажете заодно как сделать, чтобы при запуске я в C:\ сразу оказывался. smile )

мне кажется проблема в том, что  программа пытается открыть putty там, где его нет, но пока не могу понять как отправить в нужное место.
Когда я просто запускаю через свою программу cmd(путь - TEXT("c:\\windows\\system32\\cmd.exe")), 
то вижу это - c:\Visual Studio\Projects\cmd\cmd> , соответственно когда параметр указываешь "Putty", программа не понимает где искать, наверное...
PM MAIL   Вверх
xvr
Дата 28.1.2011, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Цитата(winsent7 @  28.1.2011,  20:29 Найти цитируемый пост)
но пока не могу понять как отправить в нужное место.

Не надо его никуда направлять  smile В системе есть такое понятие, как переменные окружения (откройте cmd и наберите там set - увидите большой большой список). И в нем есть такая переменная, PATH называется (наберите set PATH) В этой переменной перечислены (через ';') пути, где система будет искать любую вашу программу, если вы не снабдили ее полным путем при запуске. Надо добавить туда путь на putty, и все будет запускаться. (Добавить можно через Мой Компьютер->Свойства->Дополнительно->Переменные среды)

Либо запускать putty через ShellExecute с полным путем (где он там у вас лежит?)

Добавлено через 3 минуты и 6 секунд
Цитата(winsent7 @  28.1.2011,  20:29 Найти цитируемый пост)
может подскажете заодно как сделать, чтобы при запуске я в C:\ сразу оказывался. 

Сделайте ярлык для cmd и пропишите ему в Свойствах C:\ в 'Рабочую папку'

PM MAIL   Вверх
winsent7
Дата 30.1.2011, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 3.9.2010

Репутация: нет
Всего: нет



xvr, спасибо, буду экпериментировать.
PM MAIL   Вверх
winsent7
Дата 1.2.2011, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 31
Регистрация: 3.9.2010

Репутация: нет
Всего: нет



Сессия запускается, но надо нажать Enter, чтобы предложили ввести логин и пароль, как бы это программно сделать? 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0573 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.