Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Добавить службу в проект


Автор: Dobermann 22.7.2009, 13:18
Сделал службу http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1348, только как теперь ее прилепить к моей проге???

Автор: niteo 22.7.2009, 13:27
То есть 
Цитата(Dobermann @  22.7.2009,  13:18 Найти цитируемый пост)
прилепить к моей проге??? 


Автор: Dobermann 22.7.2009, 13:55
Чтобы служба запускалась вместе с прогой...

Автор: niteo 22.7.2009, 14:04
Службу Винда запускает при загрузке... 
 а так сматри
  OpenSCManager
  и
  OpenService

Автор: Dobermann 22.7.2009, 15:01
А как установить службу при первом запуске проги??? Типа выполнить команду для службы project.exe /install ...это можно сделать с помощью ShellExecute???

Автор: niteo 22.7.2009, 15:18
Shell-овская еоманда
Regsvr32 ИМЯ_СЕРВИСА
Данная команда регистрирует в реестре файлы .dll как компоненты команды


Автор: Dobermann 22.7.2009, 15:21
Типа так?
Код

ShellExecute(Application.Handle, 'open', 'regsvr32.exe', '/s '+ PChar(FileName), nil, SW_HIDE);

Автор: niteo 22.7.2009, 15:45
ага. или так smile
  WinExec('regsvr32.exe мой.dll',SW_HIDE);
или вот


 Регистрация ActiveX:
Код

function RegActiveX(FileName: string): HRESULT;
var
  hMod : Integer;
  RegProc : function:HRESULT; //HRESULT = Longint

begin
  hMod := LoadLibrary(FileName);
  if hMod = 0 then
    raise Exception.Create('Unable to load library"'+FileName+'". GetLastError = '+IntToStr(GetLastError));
  RegProc := GetProcAddress(hMod,'DllRegisterServer');
  if RegProc = nil then
    raise Exception.Create('Unable to load "DllRegisterServer" function from "'+FileName+'". GetLastError = '+IntToStr(GetLastError));
  Result := RegProc;
end;
 


Добавлено через 8 минут и 37 секунд
Или см, какие ключики в реестре прописываются, при регистрации. Потом скопируешь их, и будешь писать сам, напрямую в реестр.

Автор: Dobermann 22.7.2009, 16:03
Цитата(niteo @  22.7.2009,  16:45 Найти цитируемый пост)
 WinExec('regsvr32.exe мой.dll',SW_HIDE);

мой.dll??? После компиляции только ехе-шник получился! Нету dll! 
Цитата(niteo @  22.7.2009,  16:45 Найти цитируемый пост)
какие ключики в реестре прописываются

А как посмотреть???

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)