![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: нет Всего: 60 |
Опаньки....
А функция то отробатывается. В Таск Менеджере процесс появляется, но визуально программа не появилась, хотя имеет визуальный интерфейс... -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 16 Всего: 89 |
Cashey, не в обиду будет сказано, но, может быть, предварительно стоит почитать что-то про службы? Вот, например, для начала: http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=1348
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: нет Всего: 60 |
конечный смысл такой, служба должна отслеживать запущен ли конкретный файл и если его выгрузили то запустить заново. Программа при старте сворачивается в трей и мониторит действия пользователя. Под ХР для текущего пользователя. в кратце все. Добавлено через 2 минуты и 4 секунды
спасибо. сейчас ознакомлюсь... -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 16 Всего: 89 |
Вам нужно понимать, чем работа сервиса отличается от работы простого приложения. В частности, хоть немного про то, под каким пользователем что работает, кто такие "сеансы", и чем интерактивный сервис отличается от не-интерактивного.
А после того, как вы это поняли - осознать, что сейчас вы пытаетесь написать криворукого монстра. Я серьёзно, лучше отказаться от этой затеи. Особенно, если учесть, что службы относятся к высоконадёжной доверенной части системы. И любые кривые службы (поверьте, ваша первая будет именно такой) будут очень негативно сказываться на работе всей машине. Видимая простота создания служб в Delphi создаёт впечатление, что создавать службы - легко и просто. Поверьте: это не так. Я не буду касаться темы unkillable app (просто почитать: http://blogs.msdn.com/oldnewthing/archive/...2/16/73780.aspx , http://blog.delphi-jedi.net/2008/03/17/you...-undestroyable/ ), но скажу, что это действительно неблагодарная тема. Почему вы думаете, что пользователь не остановит службу? Если ему не дадут это сделать какие-то права, то почему бы не запустить обычное приложение с теми же правами? Тогда пользователь не сможет его закрыть. Ещё вариант - запуск приложения и его копии. Пусть две копии следят друг за другом. Под Vista вообще оптимальное решение - использовать новые API ( http://msdn.microsoft.com/en-us/library/bb525421(VS.85).aspx ). Но, правда, это только как защита от вылетов приложения. Если вам уж так сильно приспичит именно сервис (я действительно рекомендую подумать ещё раз), то попробуйте ещё посмотреть: http://www.delphikingdom.ru/table/search.a...B2&Count=50 Это сообщение отредактировал(а) CodeMonkey - 22.7.2008, 17:09 -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| Virtuals |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 476 Регистрация: 27.11.2006 Репутация: 4 Всего: 11 |
Cashey,
ну блин какой особенный
файловый трейсинг почемуто у меня работает а у тебя нет...хотя уже наводит на мысль где у тя ошибки а может ну его TService, и ручками? ведь красявше получается и кода кот наплакал. ... 1. между begin и StartServiceCtrlDispatcher должно пройти минимум времени и тут файловыми операциями лучше не заниматся! Добавлено через 9 минут и 11 секунд Cashey, блин а для кого я здесь распинался с
и еще отдельно пометил про эту постоянную ошибку!!! нука быстро учить матчасть про столы и оконные станции а нафига у тя в коде Sleep(5000); чтобы менеджер сервисов гарантированно неувидел???
Добавлено через 12 минут и 54 секунды кстати стол пользователя по умолчанию обычно "Default" |
||||||
|
|||||||
| Virtuals |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 476 Регистрация: 27.11.2006 Репутация: 4 Всего: 11 |
Cashey,
и еще появилось чувство дежавю а нука пролистни страницу в самый низ и глянь А здесь смотрели? особо почитай Работа с ActiveX из NT сервиса, [?] да и остальные темы думаю составят интерес. |
|||
|
||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: нет Всего: 60 |
что это такое? -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 16 Всего: 89 |
Есть предложение ознакомится с MSDN - Window Stations and Desktops.
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| Virtuals |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 476 Регистрация: 27.11.2006 Репутация: 4 Всего: 11 |
Cashey, кто тут давеча хвалился?
а теперь function Start(const CmdLine: string; Visibility : integer;winsta,dsk:pchar) где winsta,dsk это имя_оконной_станции и рабочий_ и после этого станет CreateProcDEFWINSTATION = 'WinSta0'; CreateProcDEFDESKTOP = 'winlogon'; Start(cMmd, SW_SHOWNORMAL,CreateProcDEFWINSTATION,CreateProcDEFDESKTOP); StartupInfo.lpDesktop:=PChar(WinSta+'\'+dsk); WinSta0\winlogon =
короче место где откроются окошки вашего приложения!!! WinSta0\winlogon это где ctrl alt del жмете WinSta0\Default это где юзер жить будет |
||||
|
|||||
| Cashey |
|
|||
![]() Бессмертный ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3441 Регистрация: 13.11.2002 Где: в столице Репутация: нет Всего: 60 |
во! то что доктор прописал!!!!!! огромный плюс )))) -------------------- библия учит любить ближнего, а камасутра обучает как именно |
|||
|
||||
| Virtuals |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 476 Регистрация: 27.11.2006 Репутация: 4 Всего: 11 |
Cashey, и всетаки подучи матчасть о этих волшебных вещах
WINSTATION DESKTOP так как чует мое сердце что следующие грабли, на которые наступиш это че буш делать когда твой сервис уже работает а узер еще не залогинился DESKTOP WinSta0\Default будут находится в очень неприятном состоянии |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |