2011-10-13 2 views
5

여러 버전의 소프트웨어를 설치했다고 가정하면 일부 DLL은 COM으로 등록됩니다. 예를 들어 :프로세스 탐색기가 API를 지원합니까? 아니면 콘솔 명령에서 호출합니까?

.../version1/Application.exe 
      normal.dll 
      comObject.dll -- register as COM to use 
.../version2/Application.exe 
      normal.dll 
      comObject.dll -- register as COM to use 

어떻게 comObject.dll가 등록 된 알 수 있는가? (경로 "? version1"또는 "version2"?) 응답 :이 작업을 수행하는 한 가지 방법은 "Process Explorer"를 사용하고 으로 이동하고 "Find | Find Handle or DLL ..." "comObject.dll"을 입력하고 "검색"버튼을 클릭하십시오. 그런 다음 경로는 목록에 표시됩니다.

지금은 내 질문에 온다 : 소프트웨어 패키지가 설치 COM 기반 DLL을 수백 큰 경우, 나는에 "Peocess 탐색기"수동으로 열고 원하는 그 이상 각 DLL/OCX/EXE를 검색하지 않습니다 , 검색 결과에서 목록 내용을 복사 할 수 없습니다!

내가 원했던 모든 도구는 다음과 같은 명령으로 실행되며 나는 박쥐 파일에서 실행할 수 있습니다. 될 수

ProcessExplorer.exe -Find "comObject1.dll" -append "C:\temp\output.txt" 
ProcessExplorer.exe -Find "comObject2.dll" -append "C:\temp\output.txt" 
ProcessExplorer.exe -Find "comObject3.dll" -append "C:\temp\output.txt" 

경우 output.txt은 다음과 같다 : comObject3.dll로부터 동안


위의 예에서
Process   PID Type Handle or DLL 
comObject1.dll 1 DLL C:\ApplicationExample\Version1\comObject1.dll 
comObject2.dll 1 DLL C:\ApplicationExample\Version1\comObject2.dll 
comObject3.dll 1 DLL C:\ApplicationExample\Version2\comObject3.dll 

가 comObject1.dll 및 comObject2.dll는 버전 1 폴더이다 버전 2 폴더.

답변

7

훌륭한 프로세스 탐색기의 명령 줄은 ListDllsHandle입니다. 아마 당신이 필요로하는 것입니다.

+0

이것은 내가 원하는 것입니다. 고마워! – milesma

+0

@eran에는 프로세스의 명령 줄에 대한 정보를 얻는 도구가 있습니다. 명령 줄 도구가 프로세스가 실행중인 명령을 추출하기를 원합니다. – user3462473