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

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

قام بنشر

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

من حين لآخر قد نستخدم برامج محمولة بتمرير قيم اليها لاجراء بعض العمليات من خلال الـ Command Line ولكن احيانا تعلق بالذاكرة ولا يتم إغلاق البرامج بشكل صحيح وبالتالي تسبب الصداع والمشاكل التى تجعلك غير قادر على معاودة العمل مرة أخرى
لذلك قد يصبح من الضروري إنهاء العملية بالقوة بقتل التطبيق العالق فى الذاكرة
اقدم لكم وظيفة بسيطة تقوم بتمرير الاسم الكامل للعملية المطلوب إنهاؤها فقط 

Public Function WMI_KillProcess(sProcessName As String, Optional sHost As String = ".") As Boolean
    On Error GoTo Error_Handler
    Dim oWMI                  As Object    'WMI object to query about the PC's OS
    Dim sWMIQuery             As String    'WMI Query
    Dim oCols                 As Object
    Dim oCol                  As Object
 
    Set oWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & sHost & "\root\cimv2")
    sWMIQuery = "SELECT Name FROM Win32_Process"
    Set oCols = oWMI.ExecQuery(sWMIQuery)
    For Each oCol In oCols
        If LCase(sProcessName) = LCase(oCol.Name) Then
            oCol.Terminate    ' Kill this instances of the process
        End If
    Next oCol
    WMI_KillProcess = True
 
Error_Handler_Exit:
    On Error Resume Next
    Set oCol = Nothing
    Set oCols = Nothing
    Set oWMI = Nothing
    Exit Function
 
Error_Handler:
    MsgBox "The following error has occurred" & vbCrLf & vbCrLf & _
           "Error Number: " & Err.Number & vbCrLf & _
           "Error Source: WMI_KillProcess" & vbCrLf & _
           "Error Description: " & Err.Description & _
           Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _
           , vbOKOnly + vbCritical, "An Error has Occurred!"
    Resume Error_Handler_Exit
End Function

 ويتم استدعاء الوظيفة من خلال السطر الاتى 

Call WMI_KillProcess("calculator.exe")

طبعا تغير اسم التطبيق العالق والذى تريد انهاءه بالقوة بدلا من calculator.exe

وهذا مثال للتوضيح

KillProcess.accdb

  • Like 2
  • Thanks 1

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.

×
×
  • اضف...

Important Information