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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> запуск программы из терминала??? как что после закрытия терминала прога  
V
    Опции темы
Syberex
Дата 3.5.2007, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



трабла такая захажу на удалённый компьютер через терминал, ну ястное дело винда мне создаёт мою сессию, я запускаю программу, и после выхода из клиента терминалов чтоб прога работала, т.е запустить надо так чтоб как будто без терминала запускал, также и убить из теминала, как это сделать? всё дело в том что если прога запущенана компе, и я вхожу по терминалу, то например HWND hWnd = FindWindow("SciCalc",NULL); не находит его, т.е. трабла как преодалеть барьер терминала???
--------------------
whole power in artificial intelligences
PM MAIL ICQ   Вверх
korbian
Дата 3.5.2007, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Syberex @  3.5.2007,  12:31 Найти цитируемый пост)
трабла как преодалеть барьер терминала???

Возможно я что-то не так понял, но написав службу можно преодолеть некоторые ограничения.
правда по FindWindow ты службу не найдешь  smile


Это сообщение отредактировал(а) korbian - 3.5.2007, 16:01


--------------------
korbian ©
PM   Вверх
-Kp0T-
Дата 4.5.2007, 01:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Убить поможет тебе tasklist  с  taskkill -ом (use /? for help).
Не знаю что у тебя с терминалом, у мну таких проблем  нет. FindWindow по крайней мере у мня notepad обозвала как asdf !
Чего именно не хватает тебе при запуске из терминала? (WinAmp окна не видно что ли??)
PM MAIL   Вверх
Syberex
Дата 4.5.2007, 08:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



не хватает того, что я хочу запустить из терминала прогу и после выхода из него(т.е завершения сеанса) она продолжала работать 
--------------------
whole power in artificial intelligences
PM MAIL ICQ   Вверх
-Kp0T-
Дата 4.5.2007, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Насколько я помню для соединения создается новая сессия пользователя (в группе у которой есть права на Remote Connection use). Telnet Session Manager создает процессы от имени terminal-залогиненного пользователя, при завершений сессии закрывает сессию удаленного пользователя.
Решение: Запустить процесс от имени другого пользователя в терминальной сессии (запускается только Win32 Application; к примеру, buhgalteria.doc запустить не удасться):
runas /user:Administrator "c:\Progra~1\winamp.exe c:\progra~1\winamp.m3u"
Естественно надо пароль админа знать..:)
PM MAIL   Вверх
Tectoder
Дата 4.5.2007, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(-Kp0T- @  4.5.2007,  09:26 Найти цитируемый пост)
Решение: Запустить процесс от имени другого пользователя
Процесс запустится в той же сессии, и точно так же завершиться вместе с этой сессией.
Возможно будет удачным решением не завершать терминальную сессию, пока прога должна работать?
Цитата(Syberex @  3.5.2007,  11:31 Найти цитируемый пост)
как преодалеть барьер терминала??? 
Вопрос не в терминале. Для каждого терминала создается своя оконная станция, именно через нее ты не можешь "перескочить". Однако, можно перенести свой процесс в оконную станцию к другому процессу, с помощью SetProcessWindowStation.
PM   Вверх
-Kp0T-
Дата 4.5.2007, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



2Tectoder: 
Цитата

Процесс запустится в той же сессии, и точно так же завершиться вместе с этой сессией.

Не завершиться, проверь...

Прошелся дебаггером по runas.exe наткнулся на вызов функции CredUICmdLinePromptForCredentials из credui.dll, посмотри описание функции, она тебе тоже можеть помочь...
PM MAIL   Вверх
Tectoder
Дата 4.5.2007, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(-Kp0T- @  4.5.2007,  09:56 Найти цитируемый пост)
Не завершиться, проверь...
Проверил. Завершилось. Как и следовало ожидать. А что ты делал что она у тебя осталась в памяти? Может ты вместо Logoff сделал Disconnect?
Цитата(-Kp0T- @  4.5.2007,  09:56 Найти цитируемый пост)
CredUICmdLinePromptForCredentials из credui.dll, посмотри описание функции, она тебе тоже можеть помочь... 
И вам того желаю. Нет ну серьезно - твоя функция это простая СТРОКОВАЯ функция которая разбивает аргумент на подстроки по заданным правилам.
PM   Вверх
-Kp0T-
Дата 4.5.2007, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(Syberex @ 3.5.2007,  09:31)
трабла такая захажу на удалённый компьютер через терминал...и после выхода из клиента терминалов чтоб прога работала, т.е запустить надо так чтоб как будто без терминала запускал,...

По моему речь все-таки идет про Disconnect (по крайней мере я так интерпретировал его слова)...

2Tectoder:
Цитата

И вам того желаю. Нет ну серьезно - твоя функция это простая СТРОКОВАЯ функция которая разбивает аргумент на подстроки по заданным правилам.

Склонаяя голову, smile , ты оказался внимательнее меня...
PM MAIL   Вверх
dumb
Дата 4.5.2007, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

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



запускать - at /?
убивать - tskill /?

Добавлено через 1 минуту и 38 секунд
тему переместить надо куда-нибудь в "Windows"...
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.

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


 




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


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

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