اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

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

خالص الاحترام والشكر للمجهود الجبار في تميز هذا المنتدي

لدي سوال حوال كود منع تفعيل ازرار CTRL +ALT+Delet

كذالك ازرار Win +D والذي يعمل على تنزيل النوافذ المفتوحه

وكذلك ALT + F4

ولكم خالص التحيه

قام بنشر

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

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

الكود الخص بتوقيف هذه الاالمفاتيح

قام بنشر

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

اطلعت على الموضوع من خلال الرابط الذي زودنا به العزيز رضوان

لكن الأخ شاهر يطلب تعطيل CTRL +ALT+Delete

الموضوع المشار اليه يتحدث عن تعطيل ( أو قل ان شئت تجاوز ) المفتاح TAB

والسؤال هو : ما هو رمز VB لــ CTRL +ALT+Delete ؟

عموما ...

دخلت على الــHelp وجدت جميع الأوامر الخاصة بــVB إلا الأمر الخاص بــALT ! ؟

انظر الملف في المرفقات

Keycode.rar

قام بنشر

أو جرب هذه الطريقة :

للأخ biskra جزاه الله خيرا

جرب من شريط أدوات الأكسس أدوات ثم خيارات بدء التشغيل ثم أزل علامة صح من خانة استخدام مفاتيح وصول خاصة.

قام بنشر (معدل)

وجدت هذا الكود وهو يعود للأخ GHOST2010 جزاه الله خير ( الفريق العربي للبرمجة)

Private Sub Form_Unload(Cancel As Integer)
Cancel = 1
End Sub

علماً بأن هذه الكود مفعوله قوي :d فهو يلغي عمل التالي:

ALT + F4

وزري X الموجودين في النموذج والأكسس !

جرب الطريقة وأخبرنا

بالتوفيق

تم تعديل بواسطه التقني
قام بنشر (معدل)

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

الاخوين الافاضل أ / رضون أ/ التقني الاكارم تحية شكر وتقدير

للهتمام وتقديم المساعده

المطلوب هو عند عمل المستخدم علي البرنامج اجبره على ان لايخرج من البرنامج بمفاتيح CTRL +ALT+Delete اى انهاء مهمة البرنامج ولايخرج الا بزار الخروج المصمم على النموذج كذلك ايقاف انزل النافذه اى تبقي منبثقه ولاتنزل بمفتاحي Win +D

بكاود

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

, أرجو توضيح كود إنهاء ويندوز

تم تعديل بواسطه شاهر
قام بنشر

شكرا للأخ التقني مجهودك الوافر في البحث

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

alt بنفس الطريقه بمعرفة رقم المفتاح alt

قام بنشر (معدل)

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

لقد حاولة ولم تفلح مع

ا رجو من الاخ رضون/ او التقني المحترمون ولو فيها ثقاله عليكم مثل على ذلك

واكو ممنون وذ لك للزرارالتاليه : CTRL +ALT+Delet و Win +D

ALT+F4

تم تعديل بواسطه شاهر
قام بنشر

اعزائي الكرام جميعا

اخي ابو شاهر

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

سأورد لكم ثلاث طرق للحل تستطيعون تطبيقها لحل هذه المشكلة اما الطريقتين الاولى والثانية فهي سهلة وسأقوم بشرحها والتطبيق عليها بأمثلة اما الطريقة الثالثة فهي متقدمة جدا وتحتاج الى ذوي خبره عالية في برنامج الاكسيس وفي نفس الوقت خطره لمن لا يعرف طريقة تطبيقها وسأوردها بعد ان نحترف الطريقتين الاولى والثانية وأعلم ان الجميع يرغب في معرفة الطريقة الثالثة وعموما هي ( اعطاء قيم من خلال برنامج الاكسيس الى محرر الريجستري الخاص بالويندوز ) ولهذا اقول انها متقدمة جدا وخطره في نفس الوقت لمن لا يعرف الطريقة لان اي خطأ في كتابة الكود وارساله للريجستري سيؤدي مباشرة الى توقف الويندوز مباشرة لهذا سندعها في الوقت الراهن ونبدأ بشرح الطريقتين الاولى والثانية .

الطريقة الاولى :

كما يعلم الجميع ان اي مفتاح في لوحة المفاتيح Keyboard يحمل رقم خاص به ( KeyCode ) ورقم تغيير ( ShiftCode )

دعونا نرى على سبيل المثال مفتاحي PageUP و PageDown فلهم القيم التالية :

PageUP

رقم المفتاح 33

رقم الشفت 0

PageDown

رقم المفتاح 34

رقم الشفت 0

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

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
   Select Case KeyCode
      Case 33, 34
         KeyCode = 0
   End Select
End Sub
كما نرى من خلال الكود ان الارقام 33 و 34 هي ارقام محجوزه لمفتاحي الصفحة لأعلى والصفحة لأسفل ورقم الشفت الخاص بهما هو صفر ومهمة رقم الشفت هو تعطيل المفتاح عن العمل لحظة الضغط عليه وهذا ينطبق على بقية مفاتيح لوحة المفاتيح . ستجد مثال يمكن الاستفادة منه في معرفة رقم اي مفتاح على لوحة المفاتيح كل ما عليك هو الضغط على المفتاح وسيظهر لك مباشرة رقم المفتاح ورقم الشفت الخاص به ومن ثم تستطيع استخدام الكود السابق لايقاف عمل المفتاح . بعض من ارقام لوحة المفاتيح : مفتاح Shift رقم المفتاح 16 رقم الشفت 1 مفتاح Control رقم المفتاح 17 رقم الشفت 1 مفتاح Alt رقم المفتاح 18 رقم الشفت 4 مفتاح Win رقم المفتاح 91 رقم الشفت 0 مفتاح Delete رقم المفتاح 46 رقم الشفت 0 مفتاح الحرف D رقم المفتاح 68 رقم الشفت 0 مفتاح F1 رقم المفتاح 112 رقم الشفت 0 مفتاح F2 رقم المفتاح 113 رقم الشفت 0 مفتاح F3 رقم المفتاح 114 رقم الشفت 0 مفتاح F4 رقم المفتاح 115 رقم الشفت 0 مفتاح F5 رقم المفتاح 116 رقم الشفت 0 مفتاح F6 رقم المفتاح 117 رقم الشفت 0 مفتاح F7 رقم المفتاح 118 رقم الشفت 0 مفتاح الهروب Esc رقم المفتاح 27 رقم الشفت 0 تستطيعون اكمال الباقي واستخراج بقية المفاتيح بواسطة المثال المرفق . تطبيق عملي على استخدام تعطيل مفتاح Home
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
   Select Case KeyCode
      Case 36
         KeyCode = 0
   End Select
End Sub
تطبيق عملي مع مثال مرفق على تعطيل عدة مفاتيح دفعة واحدة ( مفاتيح المساعدة ) من F1 الى F12 لهم نفس رقم الشفت
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
   Select Case KeyCode
      Case 112,113,114,115,116,117,118,119,120,121,122,123
         KeyCode = 0
   End Select
End Sub
تطبيق عملي على تعطيل عدة مفاتيح دفعة واحدة لهم ارقام شفت مختلفه مفتاح Esc ومفتاح Shift ومفتاح Alt
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
   Select Case KeyCode
      Case 27
         KeyCode = 0

      Case 16
         KeyCode = 1

      Case 18
         KeyCode = 4
   
      End Select
End Sub

نلاحظ من الاكواد السابقة انه اذا كان مفتاح التغيير ( الشفت ) لمجموعة مفتاح يحمل نفس القيمه فيكتفى بوضعه لمرة واحده فقط كما في كود تعطيل مفاتيح المساعدة F1 - F12 واذا اختلف مفتاح التغيير ( الشفت ) للمفاتيح فيوضع كل مفتاح على حده كما في الكود الاخير .

لا تنسى اختيار مفتاح العرض التمهيدي ووضعه على نعم KeyPreview: Yes

تابع معنا الطريقة الثانية لتعطيل مفاتيح لوحة المفتايح

اختكم

زهره

KeyCode.rar

NoHelp.rar

  • Like 2
قام بنشر (معدل)

الطريقة الثانية لتعطيل مفاتيح لوحة المفاتيح

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

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

مفتاح Control

vbKeyControl

مفتاح Alt

vbkeymenu

مفتاح الادخال Enter

vbKeyReturn

مفتاح Back Space

vbKeyBack

مفتاح Tab

vbKeyTab

مفتاح Shift

vbKeyShift

مفتاح Caps Lock

vbKeyCapital

مفتاح Esc

vbKeyEscape

مفتاح Space Bar

vbKeySpace

مفتاح Page Up

vbKeyPageUp

مفتاح Page Down

vbKeyPageDown

مفتاح End

vbKeyEnd

مفتاح Home

vbKeyHome

مفتاح Left arrow

vbKeyLeft

مفتاح Up arrow

vbKeyUp

مفتاح Right Arrow

vbKeyRight

مفتاح Down Arrow

vbKeyDown

مفتاح Print Screen

vbKeyPrint

مفتاح Pause

vbKeyPause

مفتاح Insert

vbKeyInsert

مفتاح Delete

vbKeyDelete

مفتاح Help

vbKeyHelp

مفتاح Numlock

vbKeyNumlock

مفتاح F1

vbKeyF1

مفتاح F2

vbKeyF2

مفتاح F3

vbKeyF3

مفتاح F4

vbKeyF4

مفتاح F5

vbKeyF5

مفتاح F6

vbKeyF6

مفتاح F7

vbKeyF7

مفتاح F8

vbKeyF8

مفتاح F9

vbKeyF9

مفتاح F10

vbKeyF10

مفتاح F11

vbKeyF11

مفتاح F12

vbKeyF12

مفتاح A

vbKeya

ينطبق هذا على مفاتيح جميع الاحرف حتى

مفتاح Z

vbKeyz

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

مفتاح الرقم صفر

vbKey0

vbKey1

vbKey2

vbKey3

vbKey4

vbKey5

vbKey6

vbKey7

vbKey8

vbKey9

طريقة الاستخدام

هذه الطريقة لا تحتاج الى مفتاح تغيير ( shift ) وانما يوضع فقط اسم المفتاح ومثال ذلك على المفاتيح Control و Alt و Delete

ملاحظة : هذا الكود يعمل مع ويندوز 98 و ME و 2000 اما ويندوز XP فالطريقة تختلف وسنوردها في الطريقة الثالثة .

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Dim CTRL_1 As Boolean
Dim CTRL_2 As Boolean
Dim CTRL_3 As Boolean
CTRL_1 = vbKeyControl
CTRL_2 = vbKeyMenu
CTRL_3 = vbKeyDelete
 On Error Resume Next
    Select Case KeyCode
        Case vbKeyControl
            CTRL_1 = True
        Case vbKeyMenu
            CTRL_2 = True
       Case vbKeyDelete
            CTRL_3 = True

End Select
    If CTRL_1 And CTRL_2 And CTRL_3 Then
        CTRL_1 = False
        CTRL_2 = False
        CTRL_3 = False
    End If
End Sub

وهذا مثال مرفق

Disable_Key_In_Form.rar

تم تعديل بواسطه zahrah
  • Like 2
قام بنشر (معدل)

الاخت الكريمة الاستاذة الفاضله زهره

لكي منى خالص الشكر والتقدير لتوضيح

فلقد استفتفدة الكثير من الطروحات والامثل التي تورديها في المنتدي

بارك الله لكى وفيكي ومتعكي بالذريه الصالحه

طالب علم شاهر

ملاحظه: لايوجد حل كود يعمل مع WINXP

تم تعديل بواسطه شاهر
قام بنشر

اخي الكريم شاهر

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

يوجد عدة حلول لهذه المشكلة وخاصة مع ويندوز XP وسأقوم بشرحها

اولا : الطريقة اليدويه .

عن طريق تعطيل مدير المهام Disable Task Manager حسب الطريقة التالية :

1. ابدأ

2. تشغيل

3. اكتب التالي gpedit.msc ثم موافق

4. سيظهر لك لوحة Group Policy

5. ستجد اسفل نهج الكمبيوتر المحلي اختيارين هما

*. تكوين الكمبيوتر

*. تكوين المستخدم

اختر تكوين المستخدم واختر منها قوالب الادارة ثم

اختر منها System ثم

اختر منها Ctrl+Alt+Del Options

ستظهر لك في الجهة المقابلة اربعة اختيارات اختر منها الاولى وهي Remove Task Manager . وقم بالضغط عليها بالماوس الايمن واختر خصائص .

سيظهر لك ثلاثة اختيارات

*. غير ممكن

*. ممكن

*. معطل

اختر منها رقم 2 ( ممكن ) ثم موافق وقم بإغلاق كل شيء .

6. الان جرب استخدام الضغط على المفاتيح Ctrl+Alt+Del دفعة واحدة لن تستطيع الدخول على مدير المهام وهذا هو المطلوب .

الطريقة الثانية عن طريق الريجستري الخاص بالويندوز xp

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

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

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

الدالة () SaveSetting

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

مثال عملي :

سنقوم بإدراج الكلمات الخاصة سواء عربية او انجليزية داخل محرر الريجستري بواسطة برنامج الاكسيس حسب الكود التالي :

1. انشئ زر امر على نموذج ومن ثم اختر حدث عند النقر وضع هذا الكود

SaveSetting appname := "officena", section := "zahrah", _
            key := "za", setting :=1
الان اغلق الاكسيس ومن ثم اذهب الى محرر الريجستري حسب الطريقة التالية 1. ابدأ 2. تشغيل واكتب في المستطيل regedit 3. سيظهر لك محرر الريجستري انتقل الى تحرير واختر بحث 4. اكتب officena ثم موافق 5. سيقوم المحرر بالبحث عن هذه القيمه الجديده 6. اضغط من لوحة المفاتيح F3 حتى تظهر لك القيمه officena وتحتها القيمة ZAHRAH ومقابلها ZA وقيمتها 1 الان نرغب في استدعاء هذه القيمه لاستدعاء هذه الدالة نستخدم الدالة ()GetSetting حسب الكود
GetSetting appname := "officena", section := "zahrah", _
            key := "za", setting :=1
ولالغاء هذه القيمه نستخدم الدالة DeleteSetting حسب الكود التالي
DeleteSetting "officena", "zahrah"
يفضل وضع كل امر في زر امر خاص به لمشاهدة النتيجه في محرر الريجستري . كمت رأيتم انه يمكن كتابة قيم وتحريرها وحذفها من خلال الكود في الاكسيس . الان سوف نقوم بالبحث عن مدير المهام Task Manager في الريجستري بالطريقة العادية . الان اغلق الاكسيس ومن ثم اذهب الى محرر الريجستري حسب الطريقة التالية 1. ابدأ 2. تشغيل واكتب في المستطيل regedit 3. سيظهر لك محرر الريجستري انتقل الى تحرير واختر بحث 4. اكتب DisableTaskMgr ثم موافق 5. سيقوم المحرر بالبحث عن هذه القيمه الجديده 6. اضغط من لوحة المفاتيح F3 حتى تظهر لك القيمه وستظهر هذه القيمة في HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System بعد ان عرفنا موقعها في محرر الريجستري نرغب في تمكينها او تعطيلها من خلال الكود في الاكسيس . تحذير : ان اي خلل في هذه العملية سيوقف نظام الويندوز اذا لم تكن لديك الخلفية القوية عن كيفية التعامل مع محرر الريجستري فدع العبث به وقم بإستخدام الطريقة اليدوية .
SaveSetting appname := "HKEY_CURRENT_USER", section := "Software\Microsoft\Windows\CurrentVersion\Policies\System", _
            key := "DisableTaskMgr", setting :=1
ملاحظة القيمة 0 ( صفر ) تمكين القيمة 1 ( واحد ) عدم التمكين الان اخرج من الريجستري وقم بعملية اعادة تشغيل الويندوز لتفعيل القيمة المدرجة الجديده لإيقاف هذه العملية وتمكين مدير المهام مره اخرى قم بوضع الكود التالي في زر امر
SaveSetting appname := "HKEY_CURRENT_USER", section := "Software\Microsoft\Windows\CurrentVersion\Policies\System", _
            key := "DisableTaskMgr", setting :=0

وبهذا نكون قد انتهينا من هذه المشكلة برمجيا بواسطة الاكسيس

اختكم

زهره

  • Like 2
قام بنشر

لكي اختي زهره

خالص الشكر والتقدير والامتنان

والهمك الله حلما وعلما وتحياتي للجميع

  • 4 weeks later...
قام بنشر

الاخوة الاعزاء

السلام عليكم

كيف اجعل مفتاح معين مضغوط باستمرار في النموذج وليكن F1

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

قام بنشر

ياريت الحل لمفتاح win

لأني جربت الطريقه على وندوز اكس بي ولم تنج

تحياتي

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information