2011-11-08 4 views
4

다른 것들 중에서도 서비스를 제어 할 프로그램을 만들고 있습니다. 서비스 목록에 나열된 방식과 유사한 서비스를 msconfig (아래 첫 번째 창)에 나열하려고합니다.DLL 또는 EXE 파일을 가져 오는 방법

서비스가 레지스트리에 나열된 위치를 찾았습니다. Vista와 Win7에서는 DisplayName과 Description이 종종 참조됩니다. 예를 들어 @%SystemRoot%\system32\aelupsvc.dll,-1Application Experience 서비스의 DisplayName 데이터입니다. Win7에는 이러한 참조가 저장되어 올바른 DisplayName을 쉽게 얻을 수있는 위치가 있습니다. 그러나 비스타에서 나는이 정보가 저장되어있는 레지스트리 장소를 찾지 못했습니다. 그래서 나는 참조되는 파일을 보았고 파일 속성의 Details 탭에있는 File Description 탭으로 충분하다는 것을 알았습니다.

enter image description here

그래서 내가 어떻게 File Description을받을 수 있나요? Java를 사용하고 있으므로 Java 또는 명령 행 상단을 사용하는 것이이 정보를 얻는 것을 선호합니다.

+0

버전 리소스에 저장됩니다. Win32 API를 통해이 작업을 수행 할 수 있지만 어딘가에 htis를 제공하는 Java API가 있다고 추측 할 수 있습니다. –

답변

1

버전 번호는 설명과 같은 페이지에 있습니다.

Get Version Info for .exe

+0

내가 원했던 정보를 얻기 위해 연결된 스레드에 대한 허용 된 대답의 코드를 수정할 수있었습니다. 감사! – Dorothy

+0

@ 도로시이 게시물은 약간 오래된 것으로 알고 있지만,이 작업을 어떻게 수행했는지 알려주십시오 (VS_FIXEDFILEINFO에 적응)? 고마워요! – casaout

2

좋은 직장과 행운을하지만 난 당신에게 다른, 아마 쉽게 솔루션을 제안하십시오 :


그래서이 스레드가 도움이 될 수있는 것 같아요.

명령 줄 유틸리티 sc 및/또는 WMI를 사용하십시오. Java 프로그램에서 직접 cscript 유틸리티를 사용하거나 JaWin, Jintegra 또는 Jinterop과 같은 상호 운용성 도구를 사용하여 스크립트 (JScript 또는 VBScript)를 실행하여 WMI에 연결할 수 있습니다.

JaWin 및 Jinterop은 오픈 소스 제품입니다.

+0

WMI와 같은 것을 사용하는 것을 선호하지만 어떤 명령을 사용하여 원하는 것을 얻을 수 있는지 알 수 없습니다. 나는 wmic datafile을 시도했는데, name = 'C : \\ Windows \\ system32 \\ aelupsvc.dll''이지만 파일 설명은 없다. – Dorothy