2012-11-17 30 views
7

Hiện nay mã của tôi sử dụngLàm thế nào để sử dụng Marshal.getActiveObject() để có được 2 thể hiện của của một quá trình hoạt động có hai quá trình mở

SurferApp = Marshal.GetActiveObject("Surfer.Application") as Surfer.Application 

để có được những ví dụ chạy của một phần mềm được gọi lướt, vì lợi ích đơn giản, chúng ta có thể thay thế Surfer thành Word mà mọi người đều biết. Bây giờ chúng ta hãy nói rằng tôi có 2 ứng dụng MS word đang chạy và tôi muốn có được cả hai người trong số họ bằng cách sử dụng Marshal.GetActiveObject(), làm thế nào tôi có thể nhận được cả hai trường hợp đang chạy và liên kết từng với một đối tượng riêng biệt?

+1

Xin chào @hoooman, bạn đã giải quyết được vấn đề của mình chưa. Có lẽ bạn có thể đăng một số mã mẫu. – Higune

Trả lời

7

Marshal.GetActiveObject trả về phiên bản đầu tiên mà nó tìm thấy trên ROT (bảng đối tượng đang chạy). Nếu bạn có nhiều hơn một cá thể đang chạy với cùng tên/id, bạn phải lấy nó trực tiếp từ ROT.

Một số liên kết để bắt đầu:

+0

Cảm ơn bạn rất nhiều, tôi đang đọc các liên kết để cố gắng tìm ra cách tôi nên thực hiện điều này. – hoooman

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