![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как остановить (запустить) службу? [D5, Win2k]
Chery © (2004-12-08 14:50:00)Сервер MySQL работает как служба, в my.ini есть запись:
Server=C:/mysql/bin/mysqld-nt.exe
Тоесть я знаю путь к стартовому файлу.
Как остановить (запустить) эту службу?
Brun (2005-01-21 18:11:00) [1]net start {имя службы}
net stop {имя службы}
Как пользоватся ShellExecute думаю знаэш.. :-)
Brun (2005-01-21 18:10:00) [2]net start {имя службы}
net stop {имя службы}
Как пользоватся ShellExecute думаю знаэш.. :-)
GanibalLector (2004-12-10 10:41:00) [3]2 GanibalLector © [13]
А,понял.Пардон.
GanibalLector (2004-12-10 10:29:00) [4]А ШО еще?Это :
OpenSCManager(nil,nil, SC_MANAGER_ALL_ACCESS)
VMcL (2004-12-10 10:06:00) [5]>> VMcL © (09.12.04 12:39) [9]
> 1. Хендл Service Control Manager'а и г-н Пушкин будет закрывать?
1. Хендлы Service Control Manager'а и самого сервиса г-н Пушкин будет закрывать?
>> GanibalLector © (09.12.04 13:11) [10]
> 1)CloseServiceHandle(aa);// ага,забыл
И не только "aa".
> 2)а как надо?
Требовать минимально необходимые права доступа. Это относится к вызову не только OpenSCManager(), но и OpenService().
Chery (2004-12-09 13:46:00) [6]Пасиб
GanibalLector (2004-12-09 13:11:00) [7]2 Chery
uses comobj,winsvc;//для [6] и [7] соответственно
2 VMcL
1)CloseServiceHandle(aa);// ага,забыл
2)а как надо?
VMcL (2004-12-09 12:39:00) [8]>> GanibalLector © (09.12.04 01:39) [7]
1. Хендл Service Control Manager'а г-н Пушкин будет закрывать?
2. SC_MANAGER_ALL_ACCESS: не следует требовать больше прав, чем необходимо.
Chery (2004-12-09 11:24:00) [9]Спасибо. Первый работает. Но я так понимаю, второй лучше. А на втором варианте, у меня выдает, что не объявлен TEnumServiceStatus. В юсис ShellApi есть, что еще надо подключить?
GanibalLector (2004-12-09 01:39:00) [10]или так :
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);
GanibalLector (2004-12-09 01:38:00) [11]procedure TForm1.Button4Click(Sender: TObject);
var
shell:OleVariant;
begin
shell:=CreateOleObject('Shell.Application');
shell.ServiceStop('SmcService',false);
end;
procedure TForm1.Button5Click(Sender: TObject);
var shell:OleVariant;
begin
shell:=CreateOleObject('Shell.Application');
shell.ServiceStart('SmcService',true);
end;
только SmcService замени на свое
Chery (2004-12-08 18:56:00) [12]ладно, уже смотрю.
VMcL (2004-12-08 18:15:00) [13]>> Chery (08.12.04 16:45) [3]
Справочные файлы враги украли?
Chery (2004-12-08 16:45:00) [14]имя MySQL.
Какие параметры должны быть в StartService()и ControlService()?
VMcL (2004-12-08 15:31:00) [15]>> VMcL © (08.12.04 15:29) [1]
> См. Пуск | Программы | Администрирование | Службы
Или Панель управление | Администрирование | Службы.
VMcL (2004-12-08 15:29:00) [16]>> Chery (08.12.04 14:50)
> Тоесть я знаю путь к стартовому файлу.
Намного больше пользы будет от имени службы. См. Пуск | Программы | Администрирование | Службы
> Как остановить (запустить) эту службу?
Административно посредством вышеуказанной консоли управления или с помощью команды "net start"/"net stop".
Программно: StartService(), ControlService(..., SERVICE_CONTROL_STOP, ...)