الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تمت الإجابة ]كيف أظهر برنامج موجود فى الsystemtray

مغلق
بدأه _- محمد نور -_ في 6 يناير 2010 · 5 رد · 1,493 مشاهدة · في أرشيف قسم Windows APIs
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

ما هى الطريقة المتبعه لكى أخرج نافذة برنامج إلى سطح المكتب موجودة فى SystemTray

يعنى البرنامج ليس له أى نافذة ظاهرة أستطيع الوصول إليها لكى أقوم بتكبيرها و إظهارها على سطح المكتب

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

#2

هل البرنامج برنامجك؟

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

لو أنك تتحدث عن البرنامج الذى أريد أن أظهره فلا ليس خاص بى (لم أكتبه)!

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

#4

الذي أقوم به عادة لإنشاء notify icon هو إعداد NOTIFYICONDATA structure.

في المعامل uCallbackMessage منها تقوم بتحديد الرسالة المسؤولة عن إعادة البرنامج للظهور من الـ systray (مثلاً WM_USER+1 أو أي شئ آخر باعتبار أن الرسائل هذه ليست مخصصة لشئ معين بحد ذاته)

في النهاية نستخدم Shell_NotifyIcon() لكي نرسل المعلومات اللازمة للـ taskbar ليقوم بإظهار وتسجيل الـ notify icon.

هذه العملية تتم داخل WM_CREATE.

الآن أصبح للنافذة رسالة تتنبه بها.

* في الحالة التي لا يكون البرنامج خاص بك،

عليك أن تحدد إن كان للبرنامج أساساً نافذة يمكن إظهارها (بعض البرامج فقط قائمة تظهر في systray لتنفيذ مهمات معينة فقط)

عليك أن تحدد الطريقة التي "يخفي" بها البرنامج نفسه.

و إن كان هناك رسالة يمكن استخدامها مثلاً لجعله يظهر من خلال إرسالها SendMessage إلى نافذة البرنامج بعد الحصول على handle.

* هذه تصوراتي، لم أنفذ العملية من قبل ربما يكون هناك شئ أسهل.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#5

المعاملات الموجودة فى الstruct كثيرة

ما هى المعاملات التى يجب ضبطها من أجل أن أقوم بإظهار نافذة البرنامج :wacko:

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

#6

في بداية المشاركة كنت أتكلم فقط عن تسجيل notify icon

ولكي تكون على اطلاع كيف يتم الأمر وبالتالي تعلم ما الأمور التي قد يلزمك معرفتها لإظهار النافذة لاحقاً (مثل uCallbackMessage)

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…