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

هل ممكن اعرف اذا كان الموس يتحرك ام ثابت

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

كنت عاييز اعمل اسكرين سيفر للبرنامج مع الويندوس يعني لو المؤشر متحركش لمدة دقيقة اقفل البرنامج

#2

السلام عليكم

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

Dim bStatus As Boolean
Dim XX As Single, YY As Single
Dim sec As Byte

Private Sub Form_Load()
Timer1.Interval = 1000
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If XX <> X And YY <> Y Then
bStatus = True
Me.Caption = "الماوس يتحرك"
XX = X: YY = Y
sec = 0
Else
bStatus = False
Me.Caption = "الماوس ثابت"
End If
End Sub
Private Sub Timer1_Timer()
sec = sec + 1
If sec = 60 And Not bStatus Then End
End Sub

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

فستحتاج إلي دالة مثل GetCursorPos لمعرفة إحداثيات الماوس الحالية..

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

ربما تريد مراجعة برنامج API Guide لهذا الأمر

http://allapi.mentalis.org/agnet/appdown.shtml

تم تعديل هذه المشاركة بواسطة Pharaonic_Guy في 26 نوفمبر 2007 في 06:13

#3

شكران علي المساعدة انا هرجرب الفكرة بتعتك

#4

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

#5

ما قلتلك يا كبير ..لو عايز تعممها وتكون مش علي مستوي الفورم فقط استخدم دالة getcursorposition

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

Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

Private Type POINTAPI
	X As Long
	Y As Long
End Type

Dim pNew As POINTAPI
Dim pOld As POINTAPI

Dim bStatus As Boolean
Dim sec As Byte

Private Sub Form_Load()
 Timer1.Interval = 10
 Timer2.Interval = 1000
End Sub


Private Sub Timer1_Timer()
GetCursorPos pNew
If pOld.X <> pNew.X And pOld.Y <> pNew.Y Then
   bStatus = True
   Me.Caption = "الماوس يتحرك"
   pOld.X = pNew.X: pOld.Y = pNew.Y
   sec = 0
Else
   bStatus = False
   Me.Caption = "الماوس ثابت"
End If

End Sub

Private Sub Timer2_Timer()
sec = sec + 1
If sec = 60 And Not bStatus Then End
End Sub

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

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

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

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

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

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