• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Написание Windows Service

  • Автор темы 3test
  • Дата начала
Статус
Закрыто для дальнейших ответов.
3

3test

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

Как я понял, для этого нужно прописать в LPSERVICE_STATUS :

dwServiceType=SERVICE_WIN32_OWN_PROCESS | SERVICE_INTERACTIVE_PROCESS;

Я попробовал вывести в отдельном потоке MessageBox


Код:
DWORD WINAPI ThreadProc(LPVOID lpParameter) {

MessageBox(NULL,"thread","thread",MB_OK);

ExitThread(0);
}


но, он не был отображен...

В MSDN также написано, что для интерактивной службы значение в реестре
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows\NoInteractiveServices
должно равно 0, что у меня выполняется....

В том, что сама служба (не интерактивная) работает - я уверен...

Не подскажете в чем может быть проблема?

Или где можно посмотреть пример интерактивной службы Windows с GUI...

Средство разработки: Microsoft Visual Studio .NET 2003
ОС: Windows 2000 SP4
 
G

grigsoft

MB_SERVICENOTIFICATION не поможет? Ну и


 

Kmet

Well-known member
25.05.2006
904
8
BIT
0
Вообще то будующие интерактивных служб весьма туманно, по не потвержденным данным в Viste их поддержка будет отсутствовать. Да и вообще, подобная организации приложения считается плохим тоном с точки зрения стабильности, так надо надо учитывать пачку тонких нюансов при смене пользователя, переходе в спящий режим и т.д.
Общепринятой практикой считается, неинтерактивный сервис и маленькое приложения для диалога с пользователем, которые оргнизуют межпроцессорное взаимодействие, например, через пайпы. Подобную организацию использует MySql.

Если нужен обязательно интерактивный сервис, по посмотри GNU проект UltraVNC, на мой взгляд реализованно очень не плохо(хотя без плясок с бубнами и не обошлось).
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!