2012-03-27 21 views
5

Tôi cần trợ giúp xử lý các chương trình thu nhỏ khi sử dụng tệp explorer.exe tuỳ chỉnh/tự tạo .. vì trừ khi được xử lý đúng cách, các chương trình thu nhỏ sẽ chỉ co lại thành 100x50px và giữ nguyên trên màn hình. Tôi đã làm việc ra một Timer trong C# để kiểm tra các quá trình "mang tính biểu tượng", liệt kê mainWindowHandler của chúng và di chuyển chúng ra ngoài màn hình bằng "MoveWindow". Để đưa chúng trở lại, tôi sử dụng trình xử lý và chức năng "ShowWindow" hoạt động TUYỆT VỜI .. nhưng như tôi đã nói, nó liên quan đến Bộ hẹn giờ chạy liên tục, vì vậy phải có cách dọn dẹp dễ dàng hơn.Xử lý các chương trình thu nhỏ

Bất kỳ ý tưởng nào? Một số cách để móc và nâng cao một sự kiện khi cửa sổ được thu nhỏ?

* xin lưu ý: hiển thị và di chuyểnwindow là các hàm từ user32.dll. Tôi không cố gắng nắm bắt khi các hình thức MY được giảm thiểu, nhưng khi các chương trình KHÁC là.

Trả lời

1

Bạn có thể tạo móc để kiểm tra khi nào cửa sổ đang được thu nhỏ.

tôi thấy a CodeProject article sử dụng móc để kiểm tra khi người dùng mở một trình đơn hệ thống (ALT +SPACE) trên bất kỳ cửa sổ, và sau đó gắn thêm một mục thêm vào nó. Bạn có thể sử dụng mã đó để kiểm tra thời điểm người dùng nhấn vào nút thu nhỏ và chạy bất kỳ mã nào bạn cần ở đó.

Bài viết CodeProject được viết bằng C++, nhưng bạn có thể điều chỉnh cùng phương thức cho C# (hoặc sử dụng P/Invoke).