
sc
Windows에서 (또는 다른 도구)를 사용하여 서비스를 시작하고 해당 작업 디렉터리를 C:\Windows\system32
기본 디렉터리 와 다른 디렉터리로 설정할 수 있는 방법이 있습니까 ?
서비스의 소스 코드에서 이를 지정할 수 있다는 것을 알고 있지만 서비스의 소스 코드 수정을 포함하지 않는 솔루션을 찾고 있습니다.
답변1
서비스는 Service Control Manager라는 응용 프로그램에서 시작됩니다. 이 응용 프로그램은 시스템 디렉터리에 있으며 %WinDir%\System32
이것이 현재 작업 디렉터리입니다.
시스템 서비스가 시작되면 기본적으로 서비스 제어 관리자의 모든 속성과 서비스 정의에 지정된 매개변수를 상속합니다.
불행하게도 현재 작업 디렉토리는 다음에서 볼 수 있듯이 이러한 매개변수 중 하나가 아닙니다. ChangeServiceConfigA 함수.
서비스의 현재 작업 디렉터리를 변경하려면 서비스 자체 내부에서 변경해야 합니다.