模拟右键点击任务管理器的某个进程,再点击菜单中的结束进程,该怎么处理

模拟右键点击任务管理器的某个进程,再点击菜单中的结束进程
任务管理器显示进程是SysTreeView32,我已经可以定位到某一行,但怎么获得该行的坐标及发送右键弹出菜单及点击指定的菜单命令。

------解决方案--------------------
为何不直接用 TerminateProcess() 终止进程?
------解决方案--------------------
探讨
为何不直接用 TerminateProcess() 终止进程?

------解决方案--------------------
探讨
引用:
为何不直接用 TerminateProcess() 终止进程?

顶。都定位到了,ProcessID应该也得到了 可以直接结束

------解决方案--------------------
坐标用GetCursorPos获得呗,知道了坐标,把自己的菜单popup到该坐标即可。强行终止进程可以用楼上几个说的那个函数。
------解决方案--------------------
完全模拟鼠标点击?

既然定位到了,那么就直接SendKeys吧
------解决方案--------------------
托盘应用程序,网上太多了,找一下就行...
------解决方案--------------------
VB code

'托盘开始
Private Type NOTIFYICONDATA
    cbSize As Long
    hwnd As Long
    uId As Long
    uFlags As Long
    ucallbackMessage As Long
    hIcon As Long
    szTip As String * 64
End Type
Private t As NOTIFYICONDATA

Private Const NIM_ADD = &H0
Private Const NIM_MODIFY = &H1
Private Const NIM_DELETE = &H2
Private Const WM_MOUSEMOVE = &H200
Private Const WM_LBUTTONUP = &H202
Private Const WM_RBUTTONUP = &H205
Private Const WM_LBUTTONDBLCLK = &H203

Private Const NIF_MESSAGE = &H1
Private Const NIF_ICON = &H2
Private Const NIF_TIP = &H4

Private Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, pnid As NOTIFYICONDATA) As Boolean

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single)
    Dim lmsg As Single
    lmsg = x / Screen.TwipsPerPixelX
'    Debug.Print lmsg
    Select Case lmsg
     Case WM_LBUTTONUP
'    "msgbox "请用鼠标右键点击图标!", vbinformation, "实时播音专家"
'    "单击左键,显示窗体
'    "下面两句的目的是把窗口显示在窗口最顶层
'    "me.show
'       Me.SetFocus
    Case WM_RBUTTONUP
'        MsgBox "a"
       PopupMenu menu_Tools '如果是在系统tray图标上点右键,则弹出菜单menutray
'    "" case wm_mousemove
'    "" case wm_lbuttondown
    Case WM_LBUTTONDBLCLK
        Me.WindowState = 0
        '下面两句的目的是把窗口显示在窗口最顶层
        Me.Show
        Me.SetFocus
                
'    "" case wm_rbuttondown
'    "" case wm_rbuttondblclk
'    "" case else
   End Select

End Sub