Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Запуск Cmd от System

7
17 июля 2007 года
@pixo $oft
3.4K / / 20.09.2006
Я модифицировал свою DLL,чтобы она запускала Cmd.По некоторым объективным причинам Cmd не запускается в первый раз(когда DLL загружается в WinLogon),а может,и во второй(в смысле,в первый раз DLL может подключиться при запуске WinLogon,перед входом).Вот вопросы по этому поводу:
1)после загрузки какого системного процесса можно будет запускать Cmd,чтобы не вылезало сообщение "Ошибка инициализации приложения" из-за отсутствия какой-то системной DLL в памяти,и как запустить только 1 копию Cmd?
2)как отобразить окно консоли(а то в процессах Cmd есть,а на экране нет)?Cmd запускается с помощью WinExec
261
17 июля 2007 года
ahilles
1.5K / / 03.11.2005
1. точно не знаю, но попробуй из под csrss.exe
2. оно и не будет видно потому что ты её запустил от Sytem, а зашёл под пользователем. окно (или консоль) можно увидеть только если оно создано под текущим пользователем.
7.8K
18 июля 2007 года
Tingo
201 / / 17.05.2007
после explorer.exe верняк покажется.
но надо это еще сделать...
7
18 июля 2007 года
@pixo $oft
3.4K / / 20.09.2006
1)Если CSRSS грузится до WinLogon'а,то не получится,т.к.(насколько я помню) WinLogon-самый первый процесс,к которому коннектится моя DLL.А WinExec что возвращает в случае "Ошибка инициализации приложения"?Не 21h случаем?Если он возвращает что-либо другое(0,например),то можно ввести к.-л. глобальный счётчик(а ещё лучше-флаг),сигнализирующий о том,что запуск Cmd прошёл успешно,и тогда Cmd больше не запускать.Кстати,как реализовать подобную вещь?Семафоры и мьютексы после смерти проги тоже дохнут?Если да,то с помощью чего можно реализовать данную вещь?
2)И никак его не показать?А я что-то слышал про десктопы(типа SwitchDesktop),может,это поможет?
2 Tingo:Конечно,даже до него показывается(при UserInit,вроде как).Это я уже на опыте увидел.К тому же,их там ТАК МНОГО показывается...Просто я забыл вставить в DLLMain проверку на имя приложения,и получалось,что каждый новый Cmd запускал ЕЩЁ CMD!!!
261
18 июля 2007 года
ahilles
1.5K / / 03.11.2005
1. тогда попробуй из services.exe
7
23 июля 2007 года
@pixo $oft
3.4K / / 20.09.2006
Cmd-то запускается(в процессах висит),но НЕ ОТОБРАЖАЕТСЯ!Вроде бы из-под этого же пользователя...а всё равно консоли не видно
10
23 июля 2007 года
Freeman
3.2K / / 06.03.2004
А взаимодействовать с рабочим столом службе разрешено?
7
24 июля 2007 года
@pixo $oft
3.4K / / 20.09.2006
Cmd наследует все привилегии создавшего её процесса(как-то:WinLogon,Services и все-все-все).Наверное,WinLogon'у разрешено срабочим столом взаимодействовать,а то б мы и его не увидели?
10
24 июля 2007 года
Freeman
3.2K / / 06.03.2004
Это из документации такие сведения или чисто предположения? А то я их тоже могу нагородить, аж целых два:
  • Подразумевает ли пункт "Взаимодействовать с рабочим столом" конкретно рабочий стол или просто интерактивный режим
  • взаимодействует ли с рабочим столом winlogon, ведь мы его видим ещё до всех рабочих столов, чисто-конкретно предложение войти
7
25 июля 2007 года
@pixo $oft
3.4K / / 20.09.2006
Ну ладно,раз уж ты умней меня,то и ответь на этот вопрос:разрешено ли этим службам(WinLogon,Services,LSASS и пр.,запускающимся при старте системы) взаимодействие с рабочим столом?
Тем более,после WinLogon Cmd вроде как запускается,но всё равно её не видно
10
25 июля 2007 года
Freeman
3.2K / / 06.03.2004
Цитата: @pixo $oft
Ну ладно,раз уж ты умней меня,то и ответь на этот вопрос:разрешено ли этим службам(WinLogon,Services,LSASS и пр.,запускающимся при старте системы) взаимодействие с рабочим столом?


Если бы я знал, сказал бы в первом посте - не в моих правилах скрывать информацию. Мои предположения, чистая логика, направление, куда копать в документации. Не биться же лбом о клаву.

350
26 июля 2007 года
cheburator
589 / / 01.06.2006
Насчет смерти mutex, semaphore и других объектов ядра.
Приложение работает с ними через HANDLE. Если приложение умирает, даже аварийно, все хэндлы закрываются, но если другие приложения пользуются теми же объектами, объекты остаются живыми. По сути, счетчик ссылок...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог