Tôi đang tạo Autocad Plugin
chạy tốt bằng cách sử dụng Windows Forms
Và tôi đã tạo một user control (winforms)
để nhân rộng dưới mọi hình thức mà tôi thích trong tương lai.Tải ứng dụng chạy Kiểm soát Biểu mẫu Windows
Câu hỏi đặt ra là
Từ mã của kiểm soát, làm thế nào để tôi có được thể hiện của các ứng dụng đang chạy điều khiển?
(Có lẽ một winforms vấn đề thuần túy)
Coditions:
Trong plug-in Tôi có thể lấy ví dụ Autocad ứng dụng không có vấn đề.
Điều khiển người dùng này có nghĩa là để được tham chiếu trong ứng dụng trình cắm, do đó không có quyền truy cập trực tiếp vào phiên bản ứng dụng.
Một lời giải thích chút về kịch bản:
Có một Main Assembly
được chạy bởi Autocad như một plug-in. Việc lắp ráp đó có ứng dụng Autocad được khởi tạo.
Bây giờ tôi có một số điều khiển biểu mẫu hữu ích để hoạt động với Autocad và chúng nằm trong một separate assembly
. (Đó là vì tôi muốn sử dụng chúng trong nhiều plug-in khác nhau mà tôi thích).
Vì vậy, Autocad chạy main assembly
và main assembly
điều khiển của separate assembly
.
Để hoạt động bình thường, các điều khiển đó cần có quyền truy cập vào ứng dụng Autocad đang chạy main assembly
.
Hôm nay tôi sử dụng ứng dụng làm tài sản trong các điều khiển, mà tôi phải đặt trước khi làm việc với chúng. (Nếu tôi quên đặt điều đó, ngoại lệ sẽ được nâng lên). Vì tôi không thể có quyền kiểm soát với người tạo tham số.
Tôi muốn các điều khiển để phát hiện ứng dụng đang chạy của chúng, do đó tôi tránh được cách giải quyết đó.
Tôi không chắc chắn về lý do bạn muốn ứng dụng của ứng dụng. Có lẽ, nếu bạn có thể giải thích kịch bản của bạn trong ngắn hạn, thì điều đó sẽ giúp ích cho bạn. Lớp System.Windows.Forms.Application cho thấy các phương thức tĩnh có thể giúp bạn. Trong trường hợp đó, hãy xem http://msdn.microsoft.com/en-us/library/system.windows.forms.application(v=vs.100).aspx – Jatin
Có nó đi, thêm kịch bản. –
Tôi không nghĩ rằng Autocad api cung cấp cho bạn quyền truy cập vào các đối tượng ứng dụng Windows. Tôi đã phải đối mặt với vấn đề tương tự trong khi phát triển một ứng dụng wpf. Tôi đã kết thúc việc tạo một Ứng dụng như được hiển thị trong bài đăng này - http://stackoverflow.com/questions/13658711/caliburn-micro-in-no-application-object-mode-like-in-autocad-dll-plugin. Nếu màn hình của bạn không tương tác với màn hình AutoCAD, thì bạn có thể thử một cách tiếp cận tương tự. – Jatin