كيفية ابطال عمل مفاتيح CTRL+ALT+DEL
ويهدف هذا الإجراء إلى منع المستخدم من إغلاق برنامجك أثناء التنفيذ حيث أن الضغط على هذه المفاتيح يمكنه من إنهاء البرنامج أو إنهاء ويندوز بكاملها
ويتم ذلك باستخدام الأسطر التالية
ضع التعريفين التاليين في قسم التعريفات Declarations
لإبطال عمل المفاتيح ضع السطر التالي في المكان المناسب
لإعادة عمل المفاتيح ضع السطر التالي في المكان المناسب
هـل الملف موجود أم لا ؟ قد يحتاج برنامجك في بعض الأحيان أن يعرف عن أحد الملفات كونه موجوداً على القرص أم لا ، يمكن عمل ذلك باستخدام الأسطر التالية :
عدل السطور السابقة حسب احتياج برنامجك
-------------------------------------------------------------------------------- تخصيص مفتاح HotKey لصندوق نص يمكنك تخصيص مفتاح ساخن HotKey لصندوق نص TextBox بالطريقة التالية : أنشيء أداة من نوع Label و ضع لها المفتاح الساخن الذي تريده لصندوق النص ثم عدل خاصية TabIndex لها لتكون أقل بواحد من قيمة نفس الخاصية في صندوق النص ( مثال : إذا كانت قيمة TabIndex لصندوق النص هي 4 فاجعل قيمتها للأداة من نوع Label الرقم 3 )
-------------------------------------------------------------------------------- كيف تجعل النص يظهر بشكل عمودي في الأداة Labelيمكن عمل ذلك باستخدام الرمز vbCrLf ، حيث يوضع بعد كل حرف في محتوى الأداة Label كما يلي :
وفي المكان المناسب ، ضع السطر التالي و الذي يقوم بإغلاق ويندوز
و يلاحظ أنه يمكن وضع أي من المتغيرات الموجودة أعلاه بدلاً من EWX_REBOOT
-------------------------------------------------------------------------------- تحديد النص في صندوق النص ذاتياً عند الضغط على زر مثلاً تلاحظ في بعض البرامج عند انتقال التركيز من أداة ما على النافذة إلى صندوق نص يحتوي على نص فإنه يتم تحديد النص ذاتياً ، للحصول على ذلك في برنامجك قم بكتابة النص التالي في المكان المناسب ليتم تحديد النص
-------------------------------------------------------------------------------- إخفاء مؤشر الفأرة في تطبيق فيجوال بيسك تستطيع إخفاء مؤشر الفأرة في موضع معين من برنامجك باستخدام الدالة ShowCursor و التي يتم تعريفها في قسم التعريفات أعلى البرنامج لأنها من دوال واجهة برمجة التطبيقات API على النحو التالي :
ومن ثم تستطيع اخفاء المؤشر بتنفيذ الدالة بالشكل التالي
و تستطيع إعادة إظهار المؤشر بتنفيذ الدالة بالشكل التالي
-------------------------------------------------------------------------------- هل يحتوي مشغل الأقراص المدمجة على قرص أم لا ؟؟
تستطيع من خلال إضافة السطور التالية إلى برنامجك تحديد ما إذا كان مشغل الأقراص المدمجة يحتوي على قرص أم لا
-------------------------------------------------------------------------------- تحديد ما إذا كان تاريخان في نفس الشهر أم لا
تستطيع أن تحدد في برنامجك ما إذا كان تاريخان مدخلان يقعان في نفس الشهر أم لا باستخدام الدالة DateDiff
المثال التالي يوضح كيفية ذلك
-------------------------------------------------------------------------------- تحديد دقة عرض الشاشة في جهاز المستخدم
تستطيع من خلال أسطر بسيطة تضيفها إلى برنامجك أن تحدد دقة عرض الشاشة في جهاز المستخدم وذلك كما يلي
وتمنياتي للجميع بالتوفيق
Private Declare Function SystemParametersInfo Lib _
\'user32\' Alias \'SystemParametersInfoA\' (ByVal uAction _
As Long, ByVal uParam As Long, ByVal lpvParam As Any, _
ByVal fuWinIni As Long) As Long
Sub DisableCtrlAltDelete(bDisabled As Boolean)
Dim X As Long
X = SystemParametersInfo(97, bDisabled, CStr(1), 0)
End Sub
\'user32\' Alias \'SystemParametersInfoA\' (ByVal uAction _
As Long, ByVal uParam As Long, ByVal lpvParam As Any, _
ByVal fuWinIni As Long) As Long
Sub DisableCtrlAltDelete(bDisabled As Boolean)
Dim X As Long
X = SystemParametersInfo(97, bDisabled, CStr(1), 0)
End Sub
لإبطال عمل المفاتيح ضع السطر التالي في المكان المناسب
Call DisableCtrlAltDelete(True)
لإعادة عمل المفاتيح ضع السطر التالي في المكان المناسب
Call DisableCtrlAltDelete(False)
هـل الملف موجود أم لا ؟ قد يحتاج برنامجك في بعض الأحيان أن يعرف عن أحد الملفات كونه موجوداً على القرص أم لا ، يمكن عمل ذلك باستخدام الأسطر التالية :
If Dir(myfilename, vbNormal or vbReadOnly or vbHidden or vbSystem or vbArchive) = \'\' then
Msgbox \'الملف غير موجود\'
Else
Msgbox \'الملف موجود\'
End If
Msgbox \'الملف غير موجود\'
Else
Msgbox \'الملف موجود\'
End If
عدل السطور السابقة حسب احتياج برنامجك
-------------------------------------------------------------------------------- تخصيص مفتاح HotKey لصندوق نص يمكنك تخصيص مفتاح ساخن HotKey لصندوق نص TextBox بالطريقة التالية : أنشيء أداة من نوع Label و ضع لها المفتاح الساخن الذي تريده لصندوق النص ثم عدل خاصية TabIndex لها لتكون أقل بواحد من قيمة نفس الخاصية في صندوق النص ( مثال : إذا كانت قيمة TabIndex لصندوق النص هي 4 فاجعل قيمتها للأداة من نوع Label الرقم 3 )
-------------------------------------------------------------------------------- كيف تجعل النص يظهر بشكل عمودي في الأداة Labelيمكن عمل ذلك باستخدام الرمز vbCrLf ، حيث يوضع بعد كل حرف في محتوى الأداة Label كما يلي :
Private Sub Form_Activate()
Dim s As String
For i = 1 To Len(Label1)
s = s & Mid$(Label1, i, 1) & vbCrLf
Next
Label1 = s
End Sub
كيفية إغلاق ويندوز من داخل البرنامج أو إعادة تشغيل ويندوز
قد تحتاج في بعض البرامج أن تقوم بإعادة تشغيل ويندوز بعد قيام المستخدم بتعديل بعض الخيارات أو لدواع أمنية أو غير ذلك
لعمل ذلك ألصق الأسطر التالية في قسم التعريفات من برنامجك
Dim s As String
For i = 1 To Len(Label1)
s = s & Mid$(Label1, i, 1) & vbCrLf
Next
Label1 = s
End Sub
Public Const EWX_LOGOFF = 0
Public Const EWX_SHUTDOWN = 1
Public Const EWX_REBOOT = 2
Public Const EWX_FORCE = 4
Declare Function ExitWindowsEx Lib \'user32\' Alias _
\'ExitWindowsEx\' (ByVal uFlags As Long, ByVal dwReserved _
As Long) As Long
Public Const EWX_SHUTDOWN = 1
Public Const EWX_REBOOT = 2
Public Const EWX_FORCE = 4
Declare Function ExitWindowsEx Lib \'user32\' Alias _
\'ExitWindowsEx\' (ByVal uFlags As Long, ByVal dwReserved _
As Long) As Long
وفي المكان المناسب ، ضع السطر التالي و الذي يقوم بإغلاق ويندوز
t& = ExitWindowsEx(EWX_REBOOT, 0)
و يلاحظ أنه يمكن وضع أي من المتغيرات الموجودة أعلاه بدلاً من EWX_REBOOT
-------------------------------------------------------------------------------- تحديد النص في صندوق النص ذاتياً عند الضغط على زر مثلاً تلاحظ في بعض البرامج عند انتقال التركيز من أداة ما على النافذة إلى صندوق نص يحتوي على نص فإنه يتم تحديد النص ذاتياً ، للحصول على ذلك في برنامجك قم بكتابة النص التالي في المكان المناسب ليتم تحديد النص
Text1.SelStart = 0
Text1.SelLength = Len(Text1) Text1.SetFocus
Text1.SelLength = Len(Text1) Text1.SetFocus
-------------------------------------------------------------------------------- إخفاء مؤشر الفأرة في تطبيق فيجوال بيسك تستطيع إخفاء مؤشر الفأرة في موضع معين من برنامجك باستخدام الدالة ShowCursor و التي يتم تعريفها في قسم التعريفات أعلى البرنامج لأنها من دوال واجهة برمجة التطبيقات API على النحو التالي :
Private Declare Function ShowCursor Lib \'user32\' _
(ByVal bShow As Long) As Long
(ByVal bShow As Long) As Long
ومن ثم تستطيع اخفاء المؤشر بتنفيذ الدالة بالشكل التالي
x = ShowCursor(False)
و تستطيع إعادة إظهار المؤشر بتنفيذ الدالة بالشكل التالي
x = ShowCursor(True)
-------------------------------------------------------------------------------- هل يحتوي مشغل الأقراص المدمجة على قرص أم لا ؟؟
تستطيع من خلال إضافة السطور التالية إلى برنامجك تحديد ما إذا كان مشغل الأقراص المدمجة يحتوي على قرص أم لا
Dim FSO As FileSystemObject
Dim aDrive As Drive
Set FSO = New FileSystemObject
For Each aDrive In FSO.Drives
If aDrive.DriveType = CDRom And aDrive.IsReady = False Then
MsgBox \'لا يوجد قرص في المشغل\'
Exit For
ElseIf aDrive.DriveType = CDRom Then
MsgBox aDrive.VolumeName
Exit For
End If
Next
Set FSO = Nothing
Dim aDrive As Drive
Set FSO = New FileSystemObject
For Each aDrive In FSO.Drives
If aDrive.DriveType = CDRom And aDrive.IsReady = False Then
MsgBox \'لا يوجد قرص في المشغل\'
Exit For
ElseIf aDrive.DriveType = CDRom Then
MsgBox aDrive.VolumeName
Exit For
End If
Next
Set FSO = Nothing
-------------------------------------------------------------------------------- تحديد ما إذا كان تاريخان في نفس الشهر أم لا
تستطيع أن تحدد في برنامجك ما إذا كان تاريخان مدخلان يقعان في نفس الشهر أم لا باستخدام الدالة DateDiff
المثال التالي يوضح كيفية ذلك
Date1 = \'01/02/1999\'
Date2 = \'15/02/1999\'
If DateDiff(\'m\', Date1, Date2) Then
MsgBox \'التاريخان في شهرين مختلفين\'
Else
MsgBox \'التاريخان في نفس الشهر\'
End If
MsgBox \'التاريخان في شهرين مختلفين\'
Else
MsgBox \'التاريخان في نفس الشهر\'
End If
-------------------------------------------------------------------------------- تحديد دقة عرض الشاشة في جهاز المستخدم
تستطيع من خلال أسطر بسيطة تضيفها إلى برنامجك أن تحدد دقة عرض الشاشة في جهاز المستخدم وذلك كما يلي
Dim x,y As Integer
x = Screen.Width / 15
y = Screen.Height / 15
If x = 640 And y = 480 Then MsgBox (\'640 * 480\')
If x = 800 And y = 600 Then MsgBox (\'800 * 600\')
If x = 1024 And y = 768 Then MsgBox (\'1024 * 768\')
x = Screen.Width / 15
y = Screen.Height / 15
If x = 640 And y = 480 Then MsgBox (\'640 * 480\')
If x = 800 And y = 600 Then MsgBox (\'800 * 600\')
If x = 1024 And y = 768 Then MsgBox (\'1024 * 768\')
وتمنياتي للجميع بالتوفيق