Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


Информационный Канал Subscribe.Ru


RusFAQ.ru: Win API

Выпуск № 060
от 15.03.2004, 20:30

Администратор:
Имя: Калашников О. А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 153
Отправлено ответов: 253
Активность: 165.3 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Pawel
Статус: Профессиональный
Общий рейтинг: 161.91
[Подробней >>]
mr2dark
Статус: Начальный
Общий рейтинг: 105
[Подробней >>]
Foamplast
Статус: Опытный
Общий рейтинг: 162.1
URL: мой личный сайт
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 152. Скажите есть ли в Win2000 функция наподобие RegisterServiceProcess, она в 98 находилась в библиотеке... (ответов: 3)

Вопросов: 1, ответов: 3


 Вопрос № 152

Скажите есть ли в Win2000 функция наподобие RegisterServiceProcess, она в 98 находилась в библиотеке kernel32.dll. При попытке вызвать эту функцию возникает ошибка, что такой функции нет. Can't find dll entry point RegisterServiceProcess in kernel32.dll. Или получается что для использования этой функции надо проверять версию ОС.
И еще такой вопрос. Можно ли скрыть программу от Дисптчера задач в Win2000. И если да, то как это сделать. Если писать много, то дайте ссылку.



Вопрос отправлен: 11.03.2004, 20:26
Отправитель: Дмитрий

[Следующий вопрос >>] [Список вопросов]

Отвечает Pawel

Доброе время суток, Дмитрий!
Такой функциинет в win2000 и нет нечего анологичного.
( в рассылке уже поднимался этот вопрос:WinAPI Вопрос №129)
Читайте там подробней.
Для того, чтобы избежать ошибки,нужно вызывать библиотечную команду програмно и проводить самому обработку искл. ситуаций(зависет от языка реализации).

Ответ отправлен: 11.03.2004, 22:07
Отправитель: Pawel


Отвечает mr2dark

Здравствуйте, Дмитрий!

В Windows 2000 и следующих версиях совершенно другая архитектура, и процессы-сервисы для них должны иметь определенное внутреннее устройство и использовать соответствующую процедуру установки в системе. Поэтому "функции наподобие RegisterServiceProcess" в W2K быть не может. Если ты хочешь использовать один исполняемый модуль для разных платформ, ты можешь или проверять версию (надежный и более расширяемый варинат) или использовать динамическую загрузку библиотеки и GetProcAddress с соответствующей обработкой ситуации, когда данная функция отсутствует.
Про сокрытие процесса можете прочитать здесь: http://www.hackzona.ru/modules.php?name=News&file=article&sid=1300.
Мой товарищ проверял, сказал что работает.

Ответ отправлен: 12.03.2004, 11:39
Отправитель: mr2dark


Отвечает Foamplast

Добрый день, Дмитрий!
Для этого нужно понимать логику работы Windows. Дело в том, что там нету такой специальной функции "скрыть процесс от пользователя". Это побочный эффект создания служебного процесса. Просто есть обычные процессы, есть служебные и есть драйверы. В Win9X вторые и третьи не показываются в окошке, которое вызывается по Ctrl-Alt-Del. В Windows NT служебные процессы показываются всегда. Другое дело, что можно запустить служебный процесс, который станет частью менеджера служебных процессов, т.е. его видно не будет, так как менеджер служебных процессов запущен всегда. Это делается без помощи RegisterServiceProcess, поэтому её и нет. В Windows NT служебный процесс должен соответствовать определённым требованиям (иметь в своём коде специальные функции, которые менеджер служб мог бы вызвать и т.п.). При этом пользоваться можно только некоторыми функциями, например MessageBox(). А в общем окна создавать нельзя, т.е. ограничений на службы дофига. Лучше всего про это прочитать в MSDN. А вот драйверы не показываются нигде. Только с ними запарок ещё больше: пользоваться ничем обычным нельзя, только специальными функциями ядра; сегменты должны называться определённым образом и т.п.


Ответ отправлен: 15.03.2004, 19:07
Отправитель: Foamplast



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (30)
C / C++ (22)
Perl (4)
Builder / Delphi (20)
Pascal (22)
Basic / VBA (9)
Java / JavaScript (8)
PHP (14)
Криптография (7)
WinAPI (16)
Радиоэлектроника (11)
Пользователю
Windows 95/98/Me (42)
Windows NT/2000/XP (62)
"Железо" (37)
Поиск информации (21)
Администратору
Windows NT/2000/XP (30)
Linux / Unix (13)
Юристу
Гражданское право (14)
Семейное право (12)
Трудовое право (12)
КоАП (10)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2004 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу


В избранное