تقييم الموضوع :
  • 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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيفية اضافة قائمة علوية لبرنامجي bidaya 2 88 28-11-16, 01:33 AM
آخر رد: bidaya
  [سؤال] مشكلة في تنصيب وعمل فيجوال بيسك على نظام ويندوز 7 hend amir 3 2,565 04-10-16, 04:59 AM
آخر رد: iisys
  كيف اخفي او الغي تفعيل قائمة فرعية من قائمة رئيسية في الفورم الرئيسة allobaed 4 127 28-08-16, 05:09 AM
آخر رد: allobaed
  [سؤال] مامعنى هذه الرسالة تظهر عند تنصيب المشروع في حال وجود ويندور 7 ويندوز 10 فاضل الحمود 2 173 01-08-16, 02:21 PM
آخر رد: فاضل الحمود
  [vb6.0] جعل مشروع الفيجوال بيسك فوق شريط المهام(في المقدمة) shamal 2 224 18-03-16, 08:56 AM
آخر رد: shamal
  فتح داتا ريبورت على ويندوز 8 mohammed.atallah 4 195 17-03-16, 12:28 PM
آخر رد: mohammed.atallah
Wink [سؤال] ممكن كود مسح صنف من قائمة ليست بوكس متصل بقاعدة البيانات abdala 1 375 10-09-14, 03:19 PM
آخر رد: abdala
Question [سؤال] شرح إنشاء قائمة مثل هذه! النبراس12 2 438 25-02-14, 03:27 PM
آخر رد: النبراس12
  تثبيتvb6 على ويندوز 8 maestroo 3 572 25-01-14, 02:19 AM
آخر رد: ربيع
Tongue قائمة مجلدات asto 1 395 02-12-13, 02:32 PM
آخر رد: ناجي إبراهيم

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


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