여러 버전의 소프트웨어를 설치했다고 가정하면 일부 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 폴더.
이것은 내가 원하는 것입니다. 고마워! – milesma
@eran에는 프로세스의 명령 줄에 대한 정보를 얻는 도구가 있습니다. 명령 줄 도구가 프로세스가 실행중인 명령을 추출하기를 원합니다. – user3462473