تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] انهاء مهمة اكسبلورر من قائمة المهام في ويندوز 7 64 بت
#1
Exclamation 
السلام عليكم ورحمة الله وبركاته

ارجو المساعدة في انهاء اكسبلورر من المهام لويندوز 7 64 بت
حيث ان الكود المخصص لهذه العملية في ويندوز اكس بي هو


Shell "taskkill /F /im explorer.exe", vbHide
Sleep 400
Shell "explorer.exe", vbHide


لكن هذه الطريقة لا تعمل على ويندوز 7 64 بت .. لذلك ارجو المساعدة في اعطائى الكود لهذه العملية وشكراً
الرد
تم الشكر بواسطة:
#2
Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
Private Declare Function Process32First Lib "kernel32" (ByVal hSnapshot As Long, lppe As PROCESSENTRY32) As Long
Private Declare Function Process32Next Lib "kernel32" (ByVal hSnapshot As Long, lppe As PROCESSENTRY32) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long

Private Const TH32CS_SNAPPROCESS As Long = 2&
Private Const MAX_PATH As Integer = 260

Private Type PROCESSENTRY32
dwSize As Long
cntUsage As Long
th32ProcessID As Long
th32DefaultHeapID As Long
th32ModuleID As Long
cntThreads As Long
th32ParentProcessID As Long
pcPriClassBase As Long
dwFlags As Long
szExeFile As String * MAX_PATH
End Type

Public Function TerminateEXE(ByVal sExeNam As String) As Boolean
Dim lLng As Long, lA As Long, lExCode As Long
Dim procObj As PROCESSENTRY32
Dim hSnap As Long
Dim lRet As Long

hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0&) 'create a snapshot of the system process information
procObj.dwSize = Len(procObj)
lRet = Process32First(hSnap, procObj) 'Query information on the top-most running process

Do While Process32Next(hSnap, procObj) 'loop through all the processes
If InStr(1, LCase(procObj.szExeFile), LCase(sExeNam$)) > 0 Then 'Your exe name has been found
lLng = OpenProcess(&H1, ByVal 0&, procObj.th32ProcessID) 'Open the process as to get its handle
lA = TerminateProcess(lLng, lExCode) 'Terminate the process
TerminateEXE = lA
Exit Do
End If
Loop
End Function

Private Sub Command1_Click()
MsgBox (TerminateEXE("explorer.exe"))
End Sub
الرد
تم الشكر بواسطة: Ahmed_Mansoor
#3
(02-05-15, 05:48 PM)sami2015 كتب : Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
Private Declare Function Process32First Lib "kernel32" (ByVal hSnapshot As Long, lppe As PROCESSENTRY32) As Long
Private Declare Function Process32Next Lib "kernel32" (ByVal hSnapshot As Long, lppe As PROCESSENTRY32) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long

Private Const TH32CS_SNAPPROCESS As Long = 2&
Private Const MAX_PATH As Integer = 260

Private Type PROCESSENTRY32
   dwSize As Long
   cntUsage As Long
   th32ProcessID As Long
   th32DefaultHeapID As Long
   th32ModuleID As Long
   cntThreads As Long
   th32ParentProcessID As Long
   pcPriClassBase As Long
   dwFlags As Long
   szExeFile As String * MAX_PATH
End Type

Public Function TerminateEXE(ByVal sExeNam As String) As Boolean
   Dim lLng As Long, lA As Long, lExCode As Long
   Dim procObj As PROCESSENTRY32
   Dim hSnap As Long
   Dim lRet As Long
   
   hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0&) 'create a snapshot of the system process information
   procObj.dwSize = Len(procObj)
   lRet = Process32First(hSnap, procObj) 'Query information on the top-most running process
   
   Do While Process32Next(hSnap, procObj) 'loop through all the processes
       If InStr(1, LCase(procObj.szExeFile), LCase(sExeNam$)) > 0 Then 'Your exe name has been found
           lLng = OpenProcess(&H1, ByVal 0&, procObj.th32ProcessID) 'Open the process as to get its handle
           lA = TerminateProcess(lLng, lExCode) 'Terminate the process
           TerminateEXE = lA
           Exit Do
       End If
   Loop
End Function

Private Sub Command1_Click()
   MsgBox (TerminateEXE("explorer.exe"))
End Sub


والله تعجز الكلمات عن شكرك يا اخ سامي .. هذا معروف لن انساه لك ابداً .. جعله الله في ميزان حسناتك .. كل الشكر والإحترام لك يا خي الفاضل
الرد
تم الشكر بواسطة: Ahmed_Mansoor


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة قراءة من قاعدة البيانات بعد تنصيب البرنامج على ويندوز 10 aboezzat84 0 142 03-01-21, 12:24 AM
آخر رد: aboezzat84
  كراك لتشغيل  Skin  على ويندوز 7 عبدالسلام مصطفى 0 138 24-11-20, 09:34 PM
آخر رد: عبدالسلام مصطفى
Question [vb6.0] كيف يمكن فتح قائمة التاريخ عن طريق زر الامر ؟؟ Microformt 2 387 15-07-20, 04:59 AM
آخر رد: Ahmed_Mansoor
  في مشروع هذه NotifyIcon تظهر في شريط المهام ahmed250 3 489 02-06-20, 03:50 AM
آخر رد: Ahmed_Mansoor
  [vb6.0] المساعدة في عملية البحث برقم السيارة من قائمة الليست فيو وادي العوضي 13 1,253 24-05-20, 09:36 PM
آخر رد: Ahmed_Mansoor
  طلب كود رسالة تنبيه في شريط المهام ahmed20 1 880 27-01-20, 01:39 PM
آخر رد: Amir_Alzubidy
  طريقتي الناجحة لتشغيل vb6.0 على ويندوز 7 سعود 4 1,049 04-09-19, 04:25 AM
آخر رد: سعود
  اساتذتى الكرام ارجو المساعدة اريد نسخه فجول بيسك 6 متوافقة مع ويندوز 10 mhareek 3 930 01-07-19, 01:46 PM
آخر رد: sendbad100
Question كود برمجي متعدد المهام dr.mostashar 1 766 31-05-19, 03:28 AM
آخر رد: Amir_Alzubidy
  طريقة فتح فورم من خلال قائمة منسدلة بالليبل مصمم هاوي 4 1,065 10-01-19, 12:10 AM
آخر رد: مصمم هاوي

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم