|
서비스 관리자에서 나오는 설명 부분은 Description입니다. 그런데 VCL의 서비스 관련 소스에는 이 Description을 써넣는
기능이 빠져 있습니다. 처음부터 빠져 있었는데, 최신 버전인 BDS2006에서도 그렇네요.
뭐 그렇다고 방법이 없는 것은 아닙니다. 서비스의 Description은 그냥 레지스트리상의 문자열일 뿐이므로, 서비스가
인스톨된 직후에 레지스트리에 직접 써넣어주면 됩니다. 서비스가 인스톨된 후에 발생하는 이벤트가 AfterInstall 이므로,
이 핸들러를 만들어서 다음과 같이 코딩해주면 땡입니다.
#include <Registry.hpp>
void __fastcall TService1::ServiceAfterInstall(TService *Sender)
{
TRegistry *Reg = new TRegistry(KEY_ALL_ACCESS);
try
{
Reg->RootKey = HKEY_LOCAL_MACHINE;
if(Reg->OpenKey("SYSTEM\\CurrentControlSet\\Services\\" + Name, true))
Reg->WriteString("Description", "서비스의 설명입니다.");
}
__finally
{
delete Reg;
}
}
그럼...
B 님이 쓰신 글 :
: "myservice.exe /install" 로 서비스를 등록하면, 서비스 관리자 목록에 제작한 서비스가 등록됩니다.
: 그런데, 서비스 이름은 지정이 가능한데, 서비스 관리자 목록에서 보이는, "설명" 부분을 어떻게 지정하는지
: 모르겠습니다. TService에 관련 프로퍼티가 없는것 같네요. "설명" 부분의 내용을 작성하려면 어떻게 해야하죠?
|