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

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

Использование StartService [D7, WinXP]


Dyakon_Frost ©   (2006-01-25 17:29:00) 

Привет всем!
Вопрос касается запуска сервисов!
Есть команда StartService для запуска сервисов:
BOOL StartService(
 IN SC_HANDLE hService, // handle службы
 IN DWORD dwArgc,    // количество аргументов
 IN PCTSTR * pArgv   // массив аргументов
);

Вопрос вот в чем - Обязательно ли передавать массив аргументов и как правельно это делать? В С++ можно не использовать этот параметр написав null; в Delphi это не канает(nil разумеется - StartService(sh, 0, nil);)? Что можно сделать?

Заранее спасибо!


Dyakon_Frost   (2006-01-25 18:15:00) [1]

Отлично работает!
Спасибо большое, а то я уже и незнал что делать!


begin...end   (2006-01-25 18:00:00) [2]

StartService(..., ..., PChar(nil^))


BiN   (2006-01-25 17:55:00) [3]

Попробуй PChar(nil) или объяви функцию самостоятельно

type
 PPchar = ^PChar;

function StartService(hService: SC_HANDLE; dwNumServiceArgs: DWORD;
 lpServiceArgVectors: PPChar): BOOL; stdcall;


Dyakon_Frost   (2006-01-25 17:49:00) [4]

На счет null - мне понятно! Но почему в Delphi нельзя использовать nil в этой функции, допустим так:  StartService(sh, 0, nil);
Delphi выдает ошибку! Вот я и хочу знать какой именно надо передавать параметр!


BiN   (2006-01-25 17:40:00) [5]

lpServiceArgVectors
[in] Pointer to an array of pointers to null-terminated strings to be passed to a service as arguments. Driver services do not receive these arguments. If no arguments are passed to the service, this parameter can be NULL. The service accesses these arguments through its ServiceMain function. The first argument (argv[0]) is the name of the service by default, followed by the arguments, if any, in the lpServiceArgVectors array.

NULL в С - это аналог nil в Delphi


Наверх

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