![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 | |
Пользователь
Регистрация: 12.01.2011
Сообщений: 16
|
![]() Цитата:
1. Должно быть, наверное, Код:
Код:
|
|
![]() |
![]() |
![]() |
#12 | |
Пользователь
Регистрация: 13.06.2010
Сообщений: 53
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#13 | |
Пользователь
Регистрация: 12.01.2011
Сообщений: 16
|
![]() Цитата:
Еще раз, почему ищем одно окно, а закрываем другое? Код:
|
|
![]() |
![]() |
![]() |
#14 | |
Пользователь
Регистрация: 13.06.2010
Сообщений: 53
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#15 |
Пользователь
Регистрация: 12.01.2011
Сообщений: 16
|
![]()
Еще вопрос, если позволите.
Интересует вот этот участок кода: Код:
Первый вопрос: как вы переименовали заголовок окна? Я пробовал переименовать с помощью lpTitle, но почему-то заголовок окна не менялся.Может как-то не так делал, вот код: Код:
Окно запускается в невидимом режиме, т.к. "wShowWindow := SW_HIDE;". В диспетчере задач окна "inteh56.ru - tunneling" не наблюдается, только процесс "putty". Каким образом функция FindWindow находит окно? |
![]() |
![]() |
![]() |
#16 | |
Пользователь
Регистрация: 13.06.2010
Сообщений: 53
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#17 | |
Пользователь
Регистрация: 12.01.2011
Сообщений: 16
|
![]() Цитата:
- в putty на вкладке Window->Behaviour в поле ввода "Window title" добавляю имя окна, например "myputtywindow"; - запускаю программу putty (не из Delphi, а просто из Windows), и вижу, что название окна putty поменялось на нужное мне, т.е. "myputtywindow"; - после установления коннекта имя окна опять меняется на "username@h11:~". Собственно, не понимаю, что я делаю не так. P.S. Извиняюсь, поторопился с вопросом. Оказывается, нужно на вкладке Terminal->Features поставить галочку в поле "Disable remote-contolled window title changing". Последний раз редактировалось WoodHead; 25.03.2013 в 05:51. |
|
![]() |
![]() |
![]() |
#18 |
Пользователь
Регистрация: 12.01.2011
Сообщений: 16
|
![]()
Еще есть вопрос-дополнение к коду, приведенному в ТС.
Вот здесь http://www.delphirus.com/article32.html рекомендуется: - указатели hProcess и hThread должны быть закрыты в родительском процессе функцией CloseHandle иначе произойдет утечка памяти; CloseHandle не закрывает процесс (поток), а только уменьшает счетчики открытых дескрипторов; - если приложение Win32, то после создания процесса желательно дождаться завершения его инициализации функцией WaitForInputIdle. Получается, что код должен быть такой: Код:
|
![]() |
![]() |
![]() |
#19 |
Пользователь
Регистрация: 13.06.2010
Сообщений: 53
|
![]() |
![]() |
![]() |
![]() |
#20 | |
Пользователь
Регистрация: 12.01.2011
Сообщений: 16
|
![]() Цитата:
P.S. Кажется, я понимаю, что вы имеете ввиду под "управление процессом мы потеряем". Если попробовать завершить процесс командой "TerminateProcess(hProcess, NO_ERROR);" после того, как закрыли указатели hProcess и hThread, то ничего не получится. Если же указатели не закрывать, то процесс закрывается. Проиллюстрирую. Например, процесс не убивается: Код:
Код:
Код:
P.P.S. Думаю, все-таки правильней убивать процесс, зная его хэндл, т.е. указатель hProcess (возможно, я выразился некорректно, но мысль, я думаю, вы поняли), а не через SendMessage. Например, если я на компьютере запускаю несколько программ (при запуске каждой программы создается свой туннель через putty), а потом по одной закрываю, то будет "убиваться" туннель, соответствующий закрываемой программе. А в случае: Код:
Разумеется, это актуально в том случае, если вы допускаете запуск нескольких копий программы на одном компьютере. Последний раз редактировалось WoodHead; 25.03.2013 в 07:12. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подождать пока активное окно | TwiX | Общие вопросы Delphi | 3 | 20.03.2012 08:54 |
Какой код выполнится быстрее? | _-Re@l-_ | Паскаль, Turbo Pascal, PascalABC.NET | 33 | 12.09.2010 19:54 |
не могу запустить серв через putty.exe | WebMaster89 | Помощь студентам | 0 | 04.04.2010 07:57 |
как подождать о определить закрытие приложения | Анастасия123456789 | Общие вопросы Delphi | 1 | 02.05.2009 16:30 |
Запустить другую программу и подождать, пока она отработает | Олвин | Помощь студентам | 15 | 22.04.2008 00:35 |