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

إخفاء ايقونة System Tray لاي برنامج .......

مغلق
بدأه Max bayne في 17 أبريل 2007 · 32 رد · 4,023 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

اخواني الاعزاء بعد السلام والتحية

لقد طرات في ذهني فكرة جميلة وكنت اود الوصول الي نتيجه فيها بفضل الله وبفضل مجهوداتكم ان شاء الله طبعا الفكرة مو ضعبة ولكنها تحتاج الي فكر وتركيز فا يا ريت كلنا نتفاعل فيها من اجل الوصول الي اتمام تللك الفكرة بازن الله ويا ريت كل اال عنده معلومة ولو صغيرة يتفضل ويشارك بها هنا في المنتدي وجزاه الله كل خير ..............

الفكرة : -

الفكرة ببساطة هي اذي نقدر نخفي ايقونة اي برنامج موجودة في System Tray بجوار الساعة رغم انف البرنامج نفسه يعني مثلا لديك برنامج وليكن برنامج الماسنجر كمقال مبسط ازاي تقدر تخفي ايقونة برنامجه في السيستم تراي رغم انف البرنامج الخاص بالماسنجر في بعض منكم هيقول دور في خواص البرنامج يمكن يكون تلاقي اوبشن للحكاية دي علي لارغم من كده بس 95 في المية من البرامج دي مفتقرة لذلك يعين نادر جدا لما تلاقي برنامج فيه لاخاصية دي ويمكن ما تلقهاش من اصله لانها مش مهمه للبرنامج او مش من مصلحة البرنامج انه يخفي الايقونة دي من جنب الساعة لان البيرنامج عملها اصلا عشان يساعد اليوزر ويقلل من جهده للوصول الي البرنامج بتاعه علي العموم دي مش مشكلتنا المشكلة دلوقتي اذا نقدر نخفيها رغم انف البرنامج صاحب الايقونة يا ريت الا عنده فكرة او معلومة يا ريت ما يبخلش علينا بيها وان شاء الله بعد ما نخلص الفكرة دي هندخل في فكرة ازاي ان احنا نخفي البرنامج بتعنا او اي برنامج شغال في الرام نخفيها من Task Manger ولكن اولا عاوزين نفكر الاول ازاي نخفي الايقونة تبعه من السيستم تراي وعلي حسب معلوماتي اني اقدر في عمل ده من خلال احدي دوال API بس ايه هي مش عارف واسف علي الاطالة .......................

#2

اللى جه فى رأسى حاليا , و هى نفس الطريقة بأداتى Yomna System Tray Control , هو أن ننادى وظيفة Shell_NotifyIcon ممررين اليها الثابت NIM_DELETE و الـ Structure بتاع NOTIFYICONDATA اللى بيحتوى على المقبض الخاص بالنافذة صاحبة الـ Tray Icon

شوف الكود بأداتى Yomna System Tray Control , الرابط بتوقيعى لكن بالرابط ده فى أصدارين من الأداه , نزل التانى.

#3

السلام عليكم ورحمة الله وبركاته

مشكور اخ محمد علي مجهودك وعلي مرورك يا غالي ولكن انا استخدمت الدالة الخاصة بالايكون نوتيفكشن وتوصلت الي الاتي وهو

- يمكن حذف ايقونة اي برنامج مصنوع بالفيجوال بيزك فقط وذلك عن طريق تحديد مقبض النافزة ثم اعطاء امر الحذف كما في المثال .

-طبعا انا عملت برنامج صغير وحولته الي ملف تنفيزي وطبعا خليته اول ما يفتح في الرام انه يعمل ايقونة تراي علي طول جنب الساعة وفعلا نجح

- بعد كده عملت برنامج اخر والبرنامج ده هيبقا فائدته انه يلغي ايقونة البرنامج السابق صنعه وتحويله الي ملف تنفيزي وفعلا تم حذف ايقونة البرنامج ده بعد تحديد مقبضه واعطاء امر الحذف بس كله ده باي برنامج مصنوع بالفيجوال بيزك يعني ( اي ايقونة محطوطة بنظام Shell_NotifyIcon هتتحذف ) طيب البرامج الاخري الا مش مستخدمه الكلام ده كله مش هينفع معاها الدالة دي وعن تجربة تامة )

- طبعا في برامج كثيرة مصنوعة بالدوت نت وغيره من لغات البرمجة الا ما بتستخدمش دالة Shell_NotifyIcon لاظها ايقونتها وبالتالي لن يمكنك حذف ايقونتها باستخدام الدالة السابقة ...

ارجو من الجميع التكاتف من اجل الوصول الي حل اكثر وللعلم انا جرربت اني اخفي ايقونات جميع البرامج المصنوعة بالفيجوال بيزك والمستخدم فيها الدالة Shell_NotifyIcon لاظهار ايقونتها وتم فعلا بنجاح اخفاء ايقونتهم جميعا اما باقي البرامج الاخري مثل الماسنجر والدونلود مانجر فلم يتم ذلك بالرغم من تحديد مقبض نافزتها ولكن فشلت في اخفاء ايقونتها لانها وحسب علمي انها لا تسخدم تللك الدالة في اظهار ايقونتها ....

يا ريت يا جماعة تشوف لينا حل تاني غير ده .................

testsystray.rar

تم تعديل هذه المشاركة بواسطة Max bayne في 18 أبريل 2007 في 03:52

#6

أنا عملت بحث بالـ MSDN ما لقتش طريقة تانية ( رغم أنها فشلت ) , لأن لم أجد موضوع عن ازالة System Tray Icon لبرنامج تانى !

طب ممكن حد يعرف أن كانت الـ System Tray Icon بيبقى ليها Handle جديد ( يعين اليها عند أظهارها ) , لو كده ممكن ندور على وسيلة للحصول عليه و أرسال رسائل له ؟!

#7

لا اعتقد ذلك اخي العزيز لان التاسك بار كله مقسم الي اربعة اجزاء هما :

1- قائمة استارت start

2-قائمة الاخصتارات Quick launch

3-القوائم المفتوحة سواء للنوافز او الفلودرات

4- السيستم تراي ,وهيا تشمل جميع الايقونات الموجود بجوار الساعة

وعلي فكرة كل قسم منهم ليه مقبض مختلف تمام عن الاخر انا عملت مثال وقدرت اعرف مقبض الخاص بالسيستم تراي وذلك باستخدام دالة تعيين مقبض ما تحت الماوس وفعلا عرفت المقبض بس ازاي ابعت ليها رسائل فلا اعرف انا اعرف الدوال التي ترسل بس شرحها بصراحة لا اعرف اتمنا انك تشركني الحل في الموضوع ده لعلي وعسي نخرج من باستفادة كبيرة في النهاية علي العموم انا ارفقت مثال بيخليك تعرف مقبض اي كائن تحت الماوس سواء نافزة او اداة او اي حاجة الماوس عليها وكمان شرح لكل دالة مستخدمة لذلك لكي يستفيد منها االعضاء والجميع بس للاسف لا يعين مقبض لاي ايقونة في السيستم تراي هو يعين المقبض العام للسيستم تراي فقط ..........

فا يا ريت انك تاخد المقبض ده وتحاول تريل ليه رسالة ككل ويا ريت ترفق لينا مثال علي دالة ارفاق الرسالة ويا ريت شرح ليها يبقا كتر خيرك لاني عندي صيغة الدالة بس مش فاهم منها حاجة خالص ..............

get_hwnd_for_any_window.rar

#8

أنا أقصد ان كل ايقونة ممكت يكون ليها مقبض خاص بها و ليس الـ Tray نفسه

#9

سورى يا جماعة وصلت متاخر

الهاندل الخاص بالايكونه بيرجع للبرنامج الى عاملها بمعنى اصح ال Tray الموجود فى التاسك بار عبارة عن عرض ايكونة للبرنامج بتاعك واى حدث بيتم تطبيقه عليه بيبعث به رسالة للبرنامج الى عمل الايكونة

حتى ده الى تلاحظه يا محمد فى احداث الاداه بتاعتك

ممكن نستخلص حاجة من الى قاله الاخ ماكس

بعد ما عرفنا الهاندل العام للتراى نفسه نعمل هوك عام ونصطاد الرسائل الى ليها الهاندل بتاع التراى

ونحاول نخرج البرامج الى انت بتقول عليها ونرجعها تانى ونراقب الرسائل

بالمحاولة ممكن نوصل للرسائل الى بتتبعت للتراى وعلى اساسها هو الى بيضيف الايكونة مش الايكونة هى بتضيف نفسها

معلش انا معملتش حاجة لانى بكتب الرسالة دى والساعة 3.30 ليلا يعنى مفيش مخ

وسلااااااااااااااااااااااااااااااااااام

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#10

مشكور اخي حريف علي مرورك بس في حاجات لازم تبقوا عرفنها قبل ما تمشي في الطريق ده :

1- ان فعلا مثل ما قال الاخ حريف ان ايقونة البرنامج بتاخد هاندل الاداة الا منشأها بمعني انك لو الايقونة الا في التراي جايه من ايقونة البرنامج الاصلي بتعها يبقا دي سهله وهتتحزف بدالة shell_notifacion لانك هترسل ليها مقبض النافزة الاصلية الا فيها الايقونة

2- طيب لو الايقونة الا في السيستم مش واخده هندل ايقونة البرنامكج الاصلي بمعني انها منشؤة باستخدام اداة لذلك وده بيظهر في البرامج المصنوعة بالدوت نت لان في اداة هناك في الدوت نت اسمها systm notifacion ودي بتعمل الايقونة وكل حاجة فيها في الحالة دي الايقونة الا بجوار التراي مش هتاخد هاندل الفورمة الا بيها لا دي هتاخد هاندل الاداة الا هيا system trayt وللاسف الاداة دي بتبقا مخفية في الرن تيم لبرنامج يعني مش اداة مرئية في شاشة البرنامج مثل برنامج المانسجر ما هو مصنوع بالدوت نت طيب في حالة دي هنعمل ايه ...

ما قدمناش حل اخر الا ان احنا نسلك طريق ارسال رسائل للمقبض العام للسيستم تراي ومن خلاله نقدر نعرض الايقونة الموجودة به ونبعت لكل ايقونة به رسالة لمعرفة البرنامج التابع ليها وبكده هنعرف انه برنامج خاص بانه ايقونة ونقدر نخفيها والا ايه يا جماعة

يا ريت الاخ محمد سيد والاخ حريف يورونا اخر ابدعاتهم ف يالموضوع ده .......................والموضع مفتوح لجميع الاعضاء

#11

احتمال اتاخر شوية فى الرد عليك لانى بخلص فى مشروع التخرج لانهم قدموا ميعاد تسليمه

وان شاء الله لما يخلص هصممله دعايا زى دى

اقتباس
ومرة اخرى يكون السبق لطربوش المختار فى التفوق البرمجى
اقتباس
ما قدمناش حل اخر الا ان احنا نسلك طريق ارسال رسائل للمقبض العام للسيستم تراي ومن خلاله نقدر نعرض الايقونة الموجودة به ونبعت لكل ايقونة به رسالة لمعرفة البرنامج التابع ليها وبكده هنعرف انه برنامج خاص بانه ايقونة ونقدر نخفيها والا ايه يا جماعة

تخيل نفسك انك صممت نظام تشغيل

بلاش دى انت صممت برنامج صغير لعرض ايكونات لبرامج اخرى(مثل التراى)

ما الذى ستطلبه من البرامج

1 عنوان الايكونة (الداتة بتاعتها يعنى الملف)

2 الهاندل الخاص بالنافذة التى انشاتها(من الممكن ان تكون اداه او او برنامج استدعاها بال API )

فالشئ الوحيد الذى يمكن ان ينفذ هو ان تبعث برسالة للتراى تخبره ان يقوم بازالة الايكونة التى انشاها البرنامج الفلانى

اما اذا كان التراى ياخذ الرسالة بالهاندل الذى بعثت منه ويقارنها بهاندل البرامج التى انشات الايكونات عنده فاعتقد انها صعبة قليلا

اخى انا فقط اول لما اخلص هقعد امخمخلك فيها كدة على كباية شاى مع شوية ليمون وكباية عصير قصب باتنين شلموه

والله الموفق

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#12

الان خلصت قراءة الموضوع :blink:

وهلأ بلش وقت التجربة :)

اقتباس
باتنين شلموه

كأنك حسبت حسابي معك :P طبعاً أتمنى يكون الليمون حلو ولذيذ :P

تم تعديل هذه المشاركة بواسطة المزمجر في 21 أبريل 2007 في 04:56

ألا بذكر الله تطمئن القلوب

#13

طبعا تفضل اخى

لكن انا اتحدث عن عصير القصب , الليمون سيعصر على الشاى

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#14

السلام عليكم

ProgressBar يشتغل مكان System Tray

لا أعرف إن كان سيفيدك

ProgressBar_SysTray.rar

ألا بذكر الله تطمئن القلوب

#15

InTray

يقوم المثال باستخراج أسماء البرامج في System Tray

ووضعها في قائمة

أتمنى ان تفيدك

:)

InTray.rar

ألا بذكر الله تطمئن القلوب

#16
اقتباس
يقوم المثال باستخراج أسماء البرامج في System Tray

فعلا الامثلة جميلة انا مش المشروع مش راضى يخلص ليه w6w200504112245306ef1a3d9d.gif بس انا ناولهم نية سودة w6w2005041122473461b80f43c.gif

اخى Max byne اظن مختار نفسة يبقى w6w200504112225556385d96ca.gif

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#17

مشروع جيد اخى المزمجر , و لكن لم يعمل معى :blink:

post-92969-1177185070_thumb.jpg

#18
اقتباس
و لكن لم يعمل معى :blink:

أخ محمد الواضح من صورتك المرفقة إنه يعمل و عرض أربع برامج تعمل في السيستم تراي

وهذه صورته عندي

c2bedc9ed2.jpg

صحيح أخي Max bayne الا ينفع إخفاء السيست تراي كلها عن طريق المقبض

يعني ضروري حبة حبة

:lol:

ألا بذكر الله تطمئن القلوب

#19

لا يوجد لدى اى من البرامج التى بالصورة.

و كما واضح بالصورة لدى 8 ايقونات و ليس 4

#20

عم محمد

اضغط بالماوس على التراى يعنى Drag & drop وبذلك كانك تحدد المقبض الخاص بالتراى

w6w20050413220826683c15a50.gif

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#21
اقتباس
و كما واضح بالصورة لدى 8 ايقونات و ليس 4

وضح كلامك

جرب نصيحة الاخ حريف

اقتباس
اضغط بالماوس على التراى يعنى Drag & drop وبذلك كانك تحدد المقبض الخاص بالتراى

ألا بذكر الله تطمئن القلوب

#22

سحب و أفلات لأيه يا شباب , معلش أنا لسه منزل وندوز , يعنى مخى خارج الخدمة !

على اى حال انا لسه مجربه , طلعلى 25 ( بدل 9 ) !

#23
اقتباس
على اى حال انا لسه مجربه , طلعلى 25 ( بدل 9 ) !

شوي شوي إعمل متوسط حسابي بالاخير توصل للعدد المناسب :D

على العموم انا قاعد أخفي النوافذ و أجرب لحد الان

طارت ابدأ و سطح المكتب و الساعو و التاسك بار و شوية نوافذ معهم :wacko:

ألا بذكر الله تطمئن القلوب

#24

يا محمد انت الى مش مربى جهازك :lol:

كلنا جربنا وشغااااااااااااااااااااااااال ينى فيرسال

يا عم انا رايح اشترى حاجة ولما اجى ابقى اشوف الموضوع ده

تاكس w6w200504111354476c3080f56.gif

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#25

System Tray Info + Event Hook

كان مستخبى عندى بالجهاز , تعاملت مع الجهاز بنصيحة أستاذنا أحمد أسماعيل و أستعملت الببش فطلع على طول , معلش مش فاضى ادور فى w6w.net على صورة واحد ببش.

:lol:

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

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