2011-10-13 15 views
5

Giả sử tôi đã cài đặt nhiều phiên bản phần mềm, một số tệp DLL được đăng ký là COM. Ví dụ:Process Explorer có hỗ trợ API hoặc gọi từ Command Console không?

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

Làm thế nào có thể biết được comObject.dll được đăng ký? (đường dẫn nào? Trong thư mục "version1" hoặc "version2"?) Trả lời: Một cách để thực hiện việc này là sử dụng "Process Explorer", truy cập "Tìm | Tìm Xử lý hoặc DLL ...", nhập "comObject.dll" và nhấp vào nút "Tìm kiếm". Sau đó, đường dẫn được hiển thị trong danh sách.

NGAY ĐẾN CÂU HỎI CỦA TÔI: Nếu gói phần mềm khổng lồ với hàng trăm DLL dựa trên COM được cài đặt, tôi không muốn mở thủ công "Peocess Explorer" và tìm kiếm từng DLL/OCX/EXE, nhiều hơn thế , trong kết quả tìm kiếm, tôi không thể sao chép nội dung danh sách ra !!

Tất cả những gì tôi muốn là một công cụ để chạy như lệnh sau và tôi có thể chạy trong tệp dơi.

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 có thể trông như thế này:


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 

Trong ví dụ trên, comObject1.dll và comObject2.dll là từ thư mục version1, khi comObject3.dll là từ Thư mục Version2.

Trả lời

7

Tương đương dòng lệnh của Trình khám phá quy trình tuyệt vời là ListDllsHandle. Đó có lẽ là những gì bạn cần.

+0

Đây chính là điều tôi muốn. Cảm ơn eran! – milesma

+0

@eran là có bất kỳ công cụ như vậy để có được thông tin về dòng lệnh của quá trình, tôi muốn công cụ dòng lệnh để trích xuất lệnh quá trình đang chạy. – user3462473

Các vấn đề liên quan