![]() |
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]() ![]() ![]() |
|
this |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 12.9.2005 Репутация: нет Всего: 1 |
Здравствуйте,
Есть код:
то есть при запуске сервис запускает пиложение. Но если сервис запускается при старте системы, то приложение не появляется, хотя его процесс виден в TaskManager. Хотя если я запускаю сервис вручную, то все нормально. Подскажите, в чем дело? |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 9 Всего: 98 |
десктопа в то время нет. вот и не показывается оно.
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
this |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 12.9.2005 Репутация: нет Всего: 1 |
А как же можно это сделать? |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
SetThreadDesktop или CreateProcessAsUser
"или" означает, что первое может не помочь Добавлено @ 16:13 Кстати, где ты взял TService? Это сообщение отредактировал(а) bems - 6.1.2006, 16:12 -------------------- Обижено школьников: 8 |
|||
|
||||
this |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 12.9.2005 Репутация: нет Всего: 1 |
||||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 9 Всего: 98 |
сделать что? запустить, чтобы видно было? дождаться появления рабочего стола. а лучше фигней не заниматься: нужно чтобы Explorer приложение запустил -- засунь его ( приложение ) в авторан -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
this |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 12.9.2005 Репутация: нет Всего: 1 |
Мне нужно, чтобы приложение было запущено при старте системы но в авторане нельзя чтобы его было видно |
||||
|
|||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
Службы тоже видно. Если хочешь хорошо спрятаться, перехватывай API. На фориме и топик где-то был вроде.
-------------------- Обижено школьников: 8 |
|||
|
||||
this |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 12.9.2005 Репутация: нет Всего: 1 |
Как спрятать процесс я уже нашел скрытие процесса, но дело в том если окно не появляется, то и процесс не прячется.
А можно как-нибудь программно заставить Explorer запускать мою прогу, но чтобы в авторане её не было? А как например это делает ICQ ведь в авторане его нету? Это сообщение отредактировал(а) this - 6.1.2006, 16:44 |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 9 Всего: 98 |
она есть в авторане из реестра
+ если у тебя есть сервис -- зачем запускать еще какую-то программу? -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
this |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 12.9.2005 Репутация: нет Всего: 1 |
Ну дело в том что сервис почему-то не прячется таким образом. |
|||
|
||||
bems |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
Опиши ситуацию поподробнее.
Например зачем тебе сервис? Если только чтобы спрятаться - идея плохая. Попробуй написать библиотечку под winlogon
И в реестр импортируй что-то такое:
Получаешь свой код, который работает в контексте Winlogon. Процесса нет. Если нужно окно и тд, создаешь поток, вызываешь для него SetThreadDesktop и вперед! Это сообщение отредактировал(а) bems - 6.1.2006, 17:32 -------------------- Обижено школьников: 8 |
||||
|
|||||
this |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 12.9.2005 Репутация: нет Всего: 1 |
ОК, но у меня к тебе несколько вопросов: 1. для нужен параметр "var info:WLX_NOTIFICATION_INFO" 2. что за "UserSpy.dll'" 3. какой обработчик для чего нужен |
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
1. В WLX_NOTIFICATION_INFO winlogon сообщает текущий рабочий стол, имя пользователя, его Token, рабочую станцию, имя домена. Если тебя это все не интерисует, то в заголовке обработчиков поставь тупо какой-то указатель (и убери var). Структура описана в SDK 2003 (есть в комплекте с delphi2005).
2. "UserSpy.dll" - имя библиотеки. Можешь заменить на свое, только не забудь исправить и в реестре тоже. Я этот кусок выдернул из своего проекта, там библиотека называется так. 3. Опишу ключи реестра, обработчики среди них тоже Asynchronous"=dword:00000000 если 0 то winlogon вызывает обработчики синхронно (пока не отработает winlogon дольше не двинеться, если 1 то все в отдельном потоке) "Lock"="LockHandler" - юзер вышел не закрывая програм. (кнопочка с двумя стрелками "смена пользователя") "Logoff"="LogOffHandler" юзер совсем вышел "Logon"="LogOnHandler" юзер вошел с нуля "Unlock"="UnlockHandler" юзер вернулся "StartShell"="StartShellHandler" - запуск оболочки(explorer) После LogOnHandler но до появления рабочего стола. "Startup"="StartupHandler" - тачка загружена есть и еще, но их я не использовал С отладкой будут проблемы. Библиотека загружена пока жив винлогон, если убить винлогон погибнет винда. Если выдаешь отладочные сообщения, они появляются на десктопе винлогона. Вобщем в процессе приходится выкручиваться, но в результате все очень удобно. Это сообщение отредактировал(а) bems - 6.1.2006, 19:54 -------------------- Обижено школьников: 8 |
|||
|
||||
this |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 12.9.2005 Репутация: нет Всего: 1 |
Большое тебе спасибо, bems - это то что надо.
Но еще один ворпрос - а как на такое реагируют антивирусники? Это сообщение отредактировал(а) this - 6.1.2006, 20:02 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: WinAPI и системное программирование" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |