• 0
fehme

ايقاف Explorer.exe و TaskMgr - Ctrl+Shift+Alt

سؤال

السلام عليكم

أخواتي الكرام في هذا المنتدى

هل يوجد كود لأضعه في بداية البرنامج يستطيع أن يوقف عمل

Explorer.exe

في الويندوز اكس بي

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

Explorer.exe

وبالتالي لن يستطيع العمل إلا على البرنامج وجزاكم الله كل الخير

السلام عليكم

post-61554-1198457891_thumb.jpg

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

5 إجابة على هذا السؤال .

  • 0

اخي الفاضل فهمي

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

لكي تتم هذه العملية بدون مشاكل سواء لنظام الويندوز او برنامج الأكسيس نتبع الطريقة التالية :

طريقة عدم تمكين Explorer.exe

نحتاج هنا الى وظيفة توضع عند تحميل النموذج وهذه الوظيفة تقوم بقتل ان صح التعبير او ايقاف عمل Explorer.exe

Private Const killer As String = "kill"

Public Function ikill()
Dim killproc As String
If killer = "kill" Then
killproc = Shell("taskkill /f /im explorer.exe", vbHide)
End If
End Function

ثم يتم استدعاؤها في حدث عند تحميل النموذج بهذه الطريقة

Private Sub Form_Load()
Call ikill
End Sub

انتهينا من ايقاف Explorer.exe ونرغب الآن ايقاف عمل مدير المهام TaskMgr او عمل المفاتيح Ctrl+Shift+Alt اذا نحتاج الى وظيفة تقوم بهذه المهمه على النحو التالي وتوضع في وحدة نمطية

Public Const HKEY_CURRENT_USER = &H80000001

Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" _
(ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegSetValueExString Lib "advapi32.dll" Alias "RegSetValueExA" _
(ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, _
ByVal dwType As Long, ByVal lpValue As String, ByVal cbData As Long) As Long
Private Declare Function RegSetValueExLong Lib "advapi32.dll" Alias "RegSetValueExA" _
(ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, _
ByVal dwType As Long, lpValue As Long, ByVal cbData As Long) As Long
Private Declare Function RegFlushKey Lib "advapi32.dll" (ByVal hKey As Long) As Long

Public Enum InTypes
ValString = 1
ValDWord = 4
End Enum

Public Sub DisableTaskMgr()
On Error GoTo BYE
WriteRegistry HKEY_CURRENT_USER, "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\", _
"DisableTaskMgr", ValDWord, "1"
BYE:
End Sub

Public Sub EnableTaskMgr()
On Error GoTo BYE
WriteRegistry HKEY_CURRENT_USER, "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\", _
"DisableTaskMgr", ValDWord, "0"
BYE:
End Sub

Public Sub WriteRegistry(ByVal Group As Long, ByVal Section As String, _
ByVal Key As String, ByVal ValType As InTypes, ByVal Value As Variant)
Dim lResult As Long
Dim lKeyValue As Long
Dim InLen As Long
Dim lNewVal As Long
Dim sNewVal As String
On Error Resume Next
lResult = RegCreateKey(Group, Section, lKeyValue)
If ValType = ValDWord Then
lNewVal = CLng(Value)
InLen = 4
lResult = RegSetValueExLong(lKeyValue, Key, 0&, ValType, lNewVal, InLen)
Else
If ValType = ValString Then Value = Value + Chr(0)
sNewVal = Value
InLen = Len(sNewVal)
lResult = RegSetValueExString(lKeyValue, Key, 0&, 1&, sNewVal, InLen)
End If
lResult = RegFlushKey(lKeyValue)
lResult = RegCloseKey(lKeyValue)
End Sub

ثم نقوم بإستدعاء وظيفة عدم تمكين مدير المهام ايضا في حدث عند التحميل للنموذج مع الحدث السابق بهذه الطريقة

Private Sub Form_Load()
On Error Resume Next
Call DisableTaskMgr
Call ikill
End Sub

انتهينا الآن من ايقاف Explorer.exe و TaskMgr

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

Global Const SW_HIDE = 0
Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long

Function fSetAccessWindow(nCmdShow As Long)
Dim loX As Long
Dim loForm As Form
loX = apiShowWindow(hWndAccessApp, nCmdShow)
End Function

ويتم استدعاؤها عند حدث فتح النموذج بهذه الطريقة

Private Sub Form_Open(Cancel As Integer)
Call fSetAccessWindow(SW_HIDE)
End Sub

مع ملاحظة : ان نقوم بتجهيز النموذج من خلال خصائصه على النحو التالي

1. منبثق : نعم

2. شكلي او مشروط : نعم

3. نمط الحدود : مربع حوار

post-15367-1198507862_thumb.gif

الآن عند فتح القاعدة سيتم التالي :

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

2. سيتم تعطيل المفاتيح Ctrl+Shift+Alt والتي تفتح مدير المهام وكذلك مدير المهام

3. سيتم ايقاف برنامج Explorer.exe ولن يستطيع المستخدم عمل اي شيء لأنه لم يبقى امامه سوى البرنامج الظاهر امامه .

الآن نريد ان نعيد كل كل شيء كما كان سابقا ولكن بعد انهاء البرنامج لهذا نقوم بإستدعاء برنامج Explorer.exe و تمكين مدير المهام TaskMgr بهذه الطريقة

Private Sub END_Click()
Dim RetVal
If MsgBox("هل تريد إنهاء البرنامج", vbYesNo, "إنهاء البرنامج") = vbYes Then
Call EnableTaskMgr
RetVal = Shell("C:\WINDOWS\explorer.exe", vbHide)
DoCmd.Quit
End If
End Sub

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

zaEnd_Processes_Explorer_TaskMgr.rar

بالتوفيق

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ألف ألف ألف شكر ياأختي الغاليةالأستاذة زهرة ولكن عند إغلاق البرنامج لايعمل

explorer بشكل نظامي حتى أقوم بإلغاء وإعادة تشغيله ولكن أنا سأتاكد في أكثر من جهاز ربما المشكلة من عندي

جزاك الله كل الخير وألف شكر

السلام عليكم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أخي الفاضل فهمي

لقد تم تجربة الكود على العديد من الأجهزة التي بها نسخة ويندوز XP ولم يحدث لدينا اي شيء والبرنامج يعمل بشكل سليم

اذا رغبت ان اقوم بتصوير العمليه فيديو لكي ترى عمل البرنامج انه يعمل بشكل سليم فلا يوجد لدينا مانع

ولكن يفضل ان تقوم بتجربته على اجهزة اخرى بها ويندوز XP فقد يكون لديك في الجهاز او النظام شيء ما لا نعلمه .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

لا لا الله يسامحك لا أريد تصوير فيديو .........

الله يزيك كل الخير ويعطيك ألف ألف عافية والمثال رائع جداً وأقوم بالتعديل عليه ليستطيع المدير إيقاف ال

explorer

لأي جهاز على الشبكة من خلال رقم يتغير في جدول فيتوقف ال

explorer

وجزاك الله كل الخير وألف ألف شكر والله

والله يعيطك ألف العافية

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

السلام عليكم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بسم الله الرحمن الرحيم

بارك الله فيك اختنا زهرة وحفظك

- الحمدلله اختنا زهرة ما تزال معنا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .