كم هو سهل في DWM لإصدار مصغرة "دائما أعلى" لإطار نافذة موجودة

StackOverflow https://stackoverflow.com/questions/550194

  •  23-08-2019
  •  | 
  •  

سؤال

أنا حقا أحب عندما تحوم فوق نافذة في نظام التشغيل Vista على شريط المهام وتمنحك معاينة صغيرة. إذا كان الفيديو هو حتى يلعب حتى في الصورة المصغرة.

في كثير من الأحيان أتمنى حقا أن أتمكن من "تمزيق" هذه النافذة الصغيرة واحتفظ بها مثل "دائما أعلى" على شاشتي. ربما لها شريط التقدم الذي أشاهده، ربما الفيديو الذي أريده معاينة صغيرة صغيرة.

أليس هذا النوع من الشيء الذي يجعله DWM من السهل على البرنامج. هل سيكون هذا مسعى بسيط للبرنامج في Green Managed C # - أو هل سينتهي بك الأمر إلى حدوث جميع مستنقع في أشياء API الصعبة؟

أنا مهتم بكل من الحلول والمؤشرات الحالية حول كيفية كود شيء مثل هذا.

هل كانت مفيدة؟

المحلول

معاينة جيدة جدا لكيفية استخدام هذا في C #:

http://community.bartdesmet.net/blogs/bart/archive/2006/10/05/4495.aspx.

نصائح أخرى

آسف على الترويج الذاتي هنا. :) ذكر فقط هناك بالفعل تطبيق يتيح لك استنساخ كل نافذة المستوى الأعلى والحفاظ على معاينةهم "دائما في الأعلى": ontopreplica..

ويستند البرنامج على نماذج ويندوز aero. مكتبة مكتبة .NET (C #) التي تضم بعض أغلفة DWM. لا حاجة إلى أشياء صعبة API (إلى جانب ذلك، فإن API بسيط للغاية على أي حال).

نعم، يمكنك إنشاء الصور المصغرة التي تشبه شريط المهام الخاصة بك. سوف تضطر إلى القيام قليلا من التلاعب مقبض النافذة. كيف يعمل بشكل أساسي أن تقوم بإنشاء نافذة طفلة في النموذج الخاص بك سيكون المصغرة. يمكنك الحصول على مقبض النافذة من نافذة المستوى الأعلى الذي تريده صورة مصغرة لاستخدام الحيل المعتادة. ثم استدعاء دالة DWM DwmregisterThumbnail لربط بين الاثنين. أنت لا تتورط في الواقع في رسم الصورة المصغرة على الإطلاق - بمجرد ارتباط النوافذ، تعتني عملية مركبات DWM برسم صورة مصغرة من نافذة المستوى الأعلى في النموذج الخاص بك.

وثائق MSDN.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top