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

كيف امنع المستخدم اثناء عمل برنامجى من استخدام زر معين يستخدمه تطبيق آخر

مغلق
بدأه simpleprogramer في 20 أغسطس 2007 · 5 رد · 692 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخوانى الافاضل

كيف امنع المستخدم من استخدام زر معين او اكثر يستخدمه تطبيق آخر اثناء عمل برنامجى

يعنى مثلا

لو كانت لدى اداة على النموذج لها اختصار مثلا

كيف امنع المستخدم من استخدام هذا الاختصار shift+ctrl+c

نهائياً اثناء عمل برنامجى ؟؟؟؟؟

علماً بأنى حاولت ان اجد كود آسكى لزر الشفت والكنترول لأستخدمهم فى KeyPress ولكن بلا جدوى

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

وحاول الاخوة مشكورين مساعدتى ولكن لم اتوصل لحل خالى من المشاكل

الى ان اعطانى الاخ Moudey

هذا الرابط

Processing Global Mouse and Keyboard Hooks in C#

وستجد بهذا المقال مثال ارفقته مع استفسارى

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

فهل لدى احد الاخوة خلفية بالفيجول بيسك والسى شارب

وجزاكم الله خيرا

globalhook_src.rar

#2

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

حاول يا اخي تجربة الآتي ولكن في خاصية KeyDown

if(e.KeyValue == 16 && e.KeyValue == 17 && e.KeyValue == 67)
OR
if(e.KeyCode == Keys.Shift && e.KeyCode == Keys.Control && e.KeyCode == Keys.C)

ثم أكمل الـ if وضع الشرط الخاص بك.

ملحوظة :

16 هو الـ KeyValue للـ Shift

17 هو الـ KeyValue للـ Ctrl

67 هو الـ KeyValue للـ C

وأرجوا أن أكون تَفَهَّتْم قصدك جيداً، وإن لم يكن، فاعذرني وأفْهِمْني مرة أخرى بمطلبك، وليعذرني خبراء المنتدى والمتقدمين في اللغة إن كانت إجابتي على السؤال تحتوي على قصور المبرمج المبتدئ.

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

إن أخطأت فمِن نَفْسي، وإن أصَبْت فمِن عند الله

الحمد لله على نِعْمَة الإسلام وكَفَى بدِين الله نِعْمَة

#3

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

هذا البرنامج من تصميمي، يقوم بإعطاءك كل من

KeyData

KeyValue

KeyChar

بمجرد كتابتهم داخل البرنامج كلُ في مكانة.

برنامج سهل وبسيط وأرجوا أن ينال إعجابكم، وأُرَحِّب بالانتقادات البَنَّاءَة للبرنامج.

Keys_Info.rar

تم تعديل هذه المشاركة بواسطة dr_clever في 20 أغسطس 2007 في 12:40

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

إن أخطأت فمِن نَفْسي، وإن أصَبْت فمِن عند الله

الحمد لله على نِعْمَة الإسلام وكَفَى بدِين الله نِعْمَة

#4

اخى dr_clever جزاك الله خيرا

اعتقد انك فهمت ما اريد

واشكرك على محاولتك شكرا جزيلا

ولكن للأسف فعلت كما قلت وعند الضغط على الاختصار لم تنفذ نتيجة الشرط

لا اعلم لماذا

وحاولت ان ارفق صورة ولكن هناك مشكلة فى المنتدى او المتصفح تمنع ذلك

لكن رجاءاً يمكنك وضع الكود الذى تكرمت بكتابته فى نموذج جديد لإختباره وسترى المشكلة

وجزاك الله خيرا

#6

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

أعتقد أن المثال التالي يحقق الغرض المطلوب بإذن الله، المثال عبارة عن Form به TextBox ومجموعة Buttons وأشياء أخرى، لكل منهم وظيفته، ولكن الشاهد في كلامنا أن الـ TextBox لها وظيفة تعمل فقط عند تحقق شرطان، الأول هو أن تكون الـ TextBox في وضع Active أو Focus، والثاني هو ضغط Ctrl + Shift + C معاً، عند تحقق الشرطان يقوم الـ ShortCut بوظيفته وهي تلوين خلفية الـ TextBox، أما في حالة كون أي من مكونات الـ Form هو الذي يأخذ الوضع Active أو Focus، ففي هذه الحالة لن يحدث شيء ولن يتم تفعيل الـ ShortCut.

private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
	if (e.Control && e.Shift && e.KeyCode == Keys.C)
	{
		textBox1.BackColor = Color.Cyan;
	}
}

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
	if (e.Control && e.Shift && e.KeyCode == Keys.C);
}

أدعوا الله شَاكِرَاً أن أكون قد وُفِّقْت في تَلْبِيَة طلبك، والحمد لله مِن قَبْل ومِن بَعْد، أما إذا كنت قد أخطأت مُجَدَّدَاً، فتَحَلَّى يا أخي بالصبر وأعِد شرح فكرتك جَيِّداً وبوضوح أكبر لعَلّي أسْتَوْضِح منها مَطْلَبَك.

تم تعديل هذه المشاركة بواسطة dr_clever في 21 أغسطس 2007 في 06:47

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

إن أخطأت فمِن نَفْسي، وإن أصَبْت فمِن عند الله

الحمد لله على نِعْمَة الإسلام وكَفَى بدِين الله نِعْمَة

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

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

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

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

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

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