Código
Public Function GetPID(ByVal sImageName As String) As Long Dim oExec As Object Set oExec = CreateObject("WSCRIPT.SHELL").Exec("tasklist /FI ""IMAGENAME eq """ & sImageName & """"" /FO ""CSV"" /NH") GetPID = Val(Replace$(Split(oExec.StdOut.ReadAll(), ",")(1), Chr$(34), "")) Set oExec = Nothing End Function
Con WMI tambien se podria... (MOD: Añado code)
Código
Public Function GetPID(ByVal sImageName As String) As Long Dim oProc As Object For Each oProc In GetObject("winmgmts:\\.\root\cimv2").ExecQuery _ ("Select * from Win32_Process Where Name = '" & sImageName & "'") GetPID = oProc.ProcessId Next oProc Set oProc = Nothing End Function
Una peque~na nota, estos codes dan por hecho que solo hay un proceso con el mismo nombre...