C# 윈도우즈 서비스 시작 방법에 대한 문제 분석
C# 윈도우즈 서비스를 시작하는 방법은 무엇입니까?자, 시작합시다.
C# 윈도우즈 서비스를 시작하는 유래: 우리는 C# 코드에 이미 존재하는 윈도우즈 서비스를 시작하는 것을 알고 있다. 우리는 이런 코드로 완성할 수 있다.
//ACPI is an example of service name
System.ServiceProcess.ServiceController
service = new ServiceController("ACPI");
service.Start();
C# 윈도우즈 서비스를 시작하는 데 문제가 발생했습니다. 서비스 유형이 Disabled이면 start 방법이 이상을 일으킬 수 있습니다.일반적으로 서비스 시작 유형을 수정한 다음 서비스를 시작합니다.
using Microsoft.Win32;
string keyPath = @"SYSTEM\CurrentControlSet\Services\ACPI";
RegistryKey key = Registry.LocalMachine.OpenSubKey(keyPath, true);
int val = -1;
bool bConverted = Int32.TryParse(key.GetValue("Start").
ToString(), out val); if(bConverted){
if ( val == 4){key.SetValue("Start", 3);
}
}
System.ServiceProcess.ServiceController
service = new ServiceController("ACPI");
service.Start();
서비스 수정 시작 방식을 요약하면 다음과 같은 두 가지 방법이 있습니다.
C# 윈도우즈 서비스 시작 1.레지스트리 수정
윈도우즈 서비스의 등록표 주소는 다음과 같습니다.
[\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceName]
여기서 하위 키 Start는 부팅 유형을 나타냅니다.클래스: Start = dword: 00000002
2는 Automatic, 3은 Manul, 4는 Disabled
C# 윈도우즈 서비스 시작 2.API 사용
BOOL ChangeServiceConfig(
SC_HANDLE hService,
DWORD dwServiceType,
DWORD dwStartType,
DWORD dwErrorControl,
LPCTSTR lpBinaryPathName,
LPCTSTR lpLoadOrderGroup,
LPDWORD lpdwTagId,
LPCTSTR lpDependencies,
LPCTSTR lpServiceStartName,
LPCTSTR lpPassword,
LPCTSTR lpDisplayName
);
C#윈도우즈 서비스를 시작하는 방법에 대한 간단한 설명은 여기까지입니다. C#윈도우즈 서비스를 배우고 이해하는 데 도움이 되었으면 합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.