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

احتاج لعمل فورم غير فعالة.....كالمرفق

مغلق
بدأه Lion في 11 أغسطس 2006 · 6 رد · 754 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم:

اسعد لله اوقاتك اخواني الكرام:

اني اقوم بعمل برنامج كالبرنامج المرفق والذي تتلخص فكرته بوضع صورة بشفافية معينة وان تكون onTop وتبقى ظاهرة فوق جميع النوافذولكن بشفافية كماذكرت

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

ارجو المساعدة بهذا الخصوص...

شاكر لكم جهودكم جميعاً

DProj.zip

#2

راجع هذا البرنامج وستجد فيها الاجابه ان شاء الله

علماً بان البرنامج الملحق من تصميم الاخ هاني

visible_form.rar

#3

السلام عليكم:

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

اعتقد اني لم استطيع توصيل الفكرة تماما لذلك حاول مشاهدة الملف الذي ارفقته في المشاركة السابقة....

ولك جزيل الشكر.........

#4

اضف التعريفات التالية في موديول :

Option Explicit

Public Const GWL_EXSTYLE As Long = -20
Public Const WS_EX_LAYERED As Long = &H80000
Public Const LWA_ALPHA As Long = &H2

Public Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" ( _
	 ByVal hwnd As Long, _
	 ByVal nIndex As Long) As Long
Public Declare Function SetLayeredWindowAttributes Lib "user32.dll" ( _
	 ByVal hwnd As Long, _
	 ByVal crKey As Long, _
	 ByVal bAlpha As Byte, _
	 ByVal dwFlags As Long) As Long
Public Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" ( _
	 ByVal hwnd As Long, _
	 ByVal nIndex As Long, _
	 ByVal dwNewLong As Long) As Long
Public Declare Function SetParent Lib "user32.dll" ( _
	 ByVal hWndChild As Long, _
	 ByVal hWndNewParent As Long) As Long



Public Sub SetTrans(ByVal OB_Hwnd As Long, ByVal OB_Val As Integer)

On Error Resume Next

   Dim Attrib As Long
   Attrib = GetWindowLong(OB_Hwnd, GWL_EXSTYLE)
   SetWindowLong OB_Hwnd, GWL_EXSTYLE, Attrib Or WS_EX_LAYERED
   SetLayeredWindowAttributes OB_Hwnd, RGB(0, 0, 0), OB_Val, LWA_ALPHA
   FTransVal = OB_Val
   Exit Sub

End Sub

استخدم الصب التالي في الفور لود

SetTrans(ByVal OB_Hwnd As Long, ByVal OB_Val As Integer)

#5

الأخ لا يقصد مشكلة الـ transparency والـ Opacity للنافذة فأمرها سهل

ما يقصده هو أن جميع الأحداث الممرة الى نافذة برنامجنا (والذي يظهر منها فقط الصورة ) تمرر للنافذة التي تقع خلفها ..

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

لاحظوا الصورة المرفقة ...

ملحوظة : البرنامج معمول بالدلفي

قد يقول البعض أن البرنامج فقط يقوم برسم الصورة على الـ desktop لكن ذلك غير صحيح فتلك عبارة عن مكون TImage موضوع في TForm.

في الصورة الثانية سنلاحظ الـ SystemMenu للـ form وقد قمت عن طريقها بتحريك الصورة أوبالأصح تحريك الـ Window التابعة للبرنامج كما انه بالامكان إغلاقها ....

كنت قد قمت بعمل disassemblying للبرنامج واتضح انه مبرمج بالدلفي وتوصلت لبعض أشياء فيه لكن لم أصل للفكرة الأساسية .

البرنامج فيه استدعاء لـ SetWindowsHookEx لكن لست متأكداً من أنه يستدعيها, أيضاً هنا ملف dll مرفق يقوم فيه بعملية HOOK لكن إن تم حذف الملف او تغيير اسمه لا تحدث اي مشكلة ويظل البرنامج يشتغل ...

حين أجد وقت ربما أتابع تحليل البرنامج لفهم الفكرة أهي تعتمد على hook أم على شئ آخر ..

ربما أحد الشباب يفيد أكثر فلم تمر علي هذه النقطة مسبقاً ..

post-62922-1155394812_thumb.jpg

post-62922-1155394854_thumb.jpg

تم تعديل هذه المشاركة بواسطة cipher في 12 أغسطس 2006 في 18:12

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#6

السلام عليكم..........

ارجوكم المساعدة فانا بحاجة للكود ...

اشكراً

#7

السلام عليكم:

أسعد الله أوقاتكم:

مشان الله ..........

المساعدة باي شيء... على الأقل كيف ابحث في الانترنت عن المطلوب...

فانا بحاجة ماسة له ........ مشكورين :( :(

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

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

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

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

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

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