Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как зарегистрировать и запустить/остановить службу? [D5, D6, D7, Win2k, WinXP]


lexusU ©   (2005-01-02 16:04:00) 

следущая ситуация. Мне необходимо получить дамп CMOS памяти, с последующей записью в определеные регистры некого значения. Как всем известно в НТ системах прямое обращение к CMOS регистрам невозможно. Однако существует некий (довольно популярный) драйвер giveio, с помощью которого возможно это проделать. Для этого  необходимо запустить эту службу, произвести считывание/запись из регитсров, остановить службу.Мои попытки к нормальной работе не привели. Может кто занимался этим? Или етсь какие нибудь исходники?


LexusU   (2005-01-04 01:23:00) [1]

Это не помогает. (Кстати в первом варианте надо еще StartService использовать)


GanibalLector   (2005-01-03 00:07:00) [2]

вариант №2

var
shell:OleVariant;
begin
shell:=CreateOleObject('Shell.Application');
shell.ServiceStop('SmcService',false);
...
shell.ServiceStart('SmcService',true);


GanibalLector   (2005-01-03 00:05:00) [3]

Что-то типа :

var
aa:cardinal;ess:TEnumServiceStatus;
begin
aa:=OpenService(OpenSCManager(nil,nil, SC_MANAGER_ALL_ACCESS), 'SmcService',SERVICE_ALL_ACCESS);
ControlService(aa, SERVICE_CONTROL_STOP,ess.ServiceStatus);
CloseServiceHandle(aa);

выделенное заменить на свое!


Наверх

Титульная страница Поиск, карта сайта Написать письмо