Mostraremos cómo obtener el nombre del exe(y otros datos) de todos los programas que se están ejecutando y cómo cerrar uno de esos procesos. En el ejemplo que acabo de hacer guardo los nombres y los identificadores de proceso en un listbox (es como una lista de tareas de windows) y pulsando un botón se cierra el proceso seleccionado.
[vb]<div class="vb" id="{CB}" style="font-family: monospace;"><ol><li style="" class="li1"> </li><li style="" class="li1"><span style="color: #808080;">'[16/03/07- Zinnky-]</span></li><li style="" class="li2"><span style="color: #b1b100;">Private</span> <span style="color: #b1b100;">Declare</span> <span style="color: #b1b100;">Function</span> CreateToolhelpSnapshot Lib <span style="color: #ffffff;">"kernel32"</span> Alias <span style="color: #ffffff;">"CreateToolhelp32Snapshot"</span> <span style="color: #66cc66;">(</span>ByVal lFlags <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span>, ByVal lProcessID <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span><span style="color: #66cc66;">)</span> <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1"><span style="color: #b1b100;">Private</span> <span style="color: #b1b100;">Declare</span> <span style="color: #b1b100;">Function</span> ProcessFirst Lib <span style="color: #ffffff;">"kernel32"</span> Alias <span style="color: #ffffff;">"Process32First"</span> <span style="color: #66cc66;">(</span>ByVal hSnapShot <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span>, uProcess <span style="color: #b1b100;">As</span> PROCESSENTRY32<span style="color: #66cc66;">)</span> <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1"><span style="color: #b1b100;">Private</span> <span style="color: #b1b100;">Declare</span> <span style="color: #b1b100;">Function</span> ProcessNext Lib <span style="color: #ffffff;">"kernel32"</span> Alias <span style="color: #ffffff;">"Process32Next"</span> <span style="color: #66cc66;">(</span>ByVal hSnapShot <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span>, uProcess <span style="color: #b1b100;">As</span> PROCESSENTRY32<span style="color: #66cc66;">)</span> <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li2"><span style="color: #b1b100;">Private</span> <span style="color: #b1b100;">Declare</span> <span style="color: #b1b100;">Sub</span> CloseHandle Lib <span style="color: #ffffff;">"kernel32"</span> <span style="color: #66cc66;">(</span>ByVal hPass <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span><span style="color: #66cc66;">)</span></li><li style="" class="li1"><span style="color: #b1b100;">Private</span> <span style="color: #b1b100;">Type</span> PROCESSENTRY32</li><li style="" class="li1">dwSize <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li2">cntUsage <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1">th32ProcessID <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1">th32DefaultHeapID <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li2">th32ModuleID <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1">cntThreads <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1">th32ParentProcessID <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li2">pcPriClassBase <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1">dwFlags <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1">szExeFile <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">String</span> * <span style="color: #cc66cc;">260</span></li><li style="" class="li2"><span style="color: #b1b100;">End</span> <span style="color: #b1b100;">Type</span></li><li style="" class="li1"><span style="color: #b1b100;">Private</span> <span style="color: #b1b100;">Declare</span> <span style="color: #b1b100;">Function</span> TerminateProcess Lib <span style="color: #ffffff;">"kernel32"</span> <span style="color: #66cc66;">(</span>ByVal hProcess <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span>, ByVal uExitCode <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span><span style="color: #66cc66;">)</span> <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1"><span style="color: #b1b100;">Private</span> <span style="color: #b1b100;">Declare</span> <span style="color: #b1b100;">Function</span> OpenProcess Lib <span style="color: #ffffff;">"kernel32"</span> <span style="color: #66cc66;">(</span>ByVal dwDesiredAccess <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span>, ByVal bInheritHandle <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span>, ByVal dwProcessId <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span><span style="color: #66cc66;">)</span> <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li2"><span style="color: #b1b100;">Const</span> PROCESS_TERMINATE = &H1</li><li style="" class="li1"><span style="color: #b1b100;">Const</span> PROCESS_CREATE_THREAD = &H2</li><li style="" class="li1"><span style="color: #b1b100;">Const</span> PROCESS_VM_OPERATION = &H8</li><li style="" class="li2"><span style="color: #b1b100;">Const</span> PROCESS_VM_READ = &H10</li><li style="" class="li1"><span style="color: #b1b100;">Const</span> PROCESS_VM_WRITE = &H20</li><li style="" class="li1"><span style="color: #b1b100;">Const</span> PROCESS_DUP_HANDLE = &H40</li><li style="" class="li2"><span style="color: #b1b100;">Const</span> PROCESS_CREATE_PROCESS = &H80</li><li style="" class="li1"><span style="color: #b1b100;">Const</span> PROCESS_SET_QUOTA = &H100</li><li style="" class="li1"><span style="color: #b1b100;">Const</span> PROCESS_SET_INFORMATION = &H200</li><li style="" class="li2"><span style="color: #b1b100;">Const</span> PROCESS_QUERY_INFORMATION = &H400</li><li style="" class="li1"><span style="color: #b1b100;">Const</span> STANDARD_RIGHTS_REQUIRED = &HF0000</li><li style="" class="li1"><span style="color: #b1b100;">Const</span> SYNCHRONIZE = &H100000</li><li style="" class="li2"><span style="color: #b1b100;">Const</span> PROCESS_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED <span style="color: #b1b100;">Or</span> SYNCHRONIZE <span style="color: #b1b100;">Or</span> &HFFF</li><li style="" class="li1"><span style="color: #b1b100;">Private</span> <span style="color: #b1b100;">Declare</span> <span style="color: #b1b100;">Sub</span> Sleep Lib <span style="color: #ffffff;">"kernel32"</span> <span style="color: #66cc66;">(</span>ByVal dwMilliseconds <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span><span style="color: #66cc66;">)</span></li><li style="" class="li1"><span style="color: #808080;">'Para llenar el listbox con los procesos</span></li><li style="" class="li2"><span style="color: #b1b100;">Sub</span> RellenaLista<span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span></li><li style="" class="li1"><span style="color: #b1b100;">Dim</span> hSnapShot <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1"><span style="color: #b1b100;">Dim</span> uProceso <span style="color: #b1b100;">As</span> PROCESSENTRY32</li><li style="" class="li2"><span style="color: #b1b100;">Dim</span> res <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1">List1.<span style="color: #66cc66;">Clear</span></li><li style="" class="li1">hSnapShot = CreateToolhelpSnapshot<span style="color: #66cc66;">(</span><span style="color: #cc66cc;">2</span>&, <span style="color: #cc66cc;">0</span>&<span style="color: #66cc66;">)</span></li><li style="" class="li2"><span style="color: #b1b100;">If</span> hSnapShot <> <span style="color: #cc66cc;">0</span> <span style="color: #b1b100;">Then</span></li><li style="" class="li1">uProceso.<span style="color: #66cc66;">dwSize</span> = <span style="color: #b1b100;">Len</span><span style="color: #66cc66;">(</span>uProceso<span style="color: #66cc66;">)</span></li><li style="" class="li1">res = ProcessFirst<span style="color: #66cc66;">(</span>hSnapShot, uProceso<span style="color: #66cc66;">)</span></li><li style="" class="li2"><span style="color: #b1b100;">Do</span> <span style="color: #b1b100;">While</span> res</li><li style="" class="li1">List1.<span style="color: #66cc66;">AddItem</span> <span style="color: #b1b100;">Left</span>$<span style="color: #66cc66;">(</span>uProceso.<span style="color: #66cc66;">szExeFile</span>, <span style="color: #b1b100;">InStr</span><span style="color: #66cc66;">(</span>uProceso.<span style="color: #66cc66;">szExeFile</span>, <span style="color: #b1b100;">Chr</span>$<span style="color: #66cc66;">(</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span> - <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">)</span></li><li style="" class="li1">List1.<span style="color: #66cc66;">ItemData</span><span style="color: #66cc66;">(</span>List1.<span style="color: #66cc66;">NewIndex</span><span style="color: #66cc66;">)</span> = uProceso.<span style="color: #66cc66;">th32ProcessID</span></li><li style="" class="li2">res = ProcessNext<span style="color: #66cc66;">(</span>hSnapShot, uProceso<span style="color: #66cc66;">)</span></li><li style="" class="li1"><span style="color: #b1b100;">Loop</span></li><li style="" class="li1"><span style="color: #b1b100;">Call</span> CloseHandle<span style="color: #66cc66;">(</span>hSnapShot<span style="color: #66cc66;">)</span></li><li style="" class="li2"><span style="color: #b1b100;">End</span> <span style="color: #b1b100;">If</span></li><li style="" class="li1"><span style="color: #b1b100;">End</span> <span style="color: #b1b100;">Sub</span></li><li style="" class="li1"><span style="color: #808080;">'Para cerrar el proceso seleccionado</span></li><li style="" class="li2"><span style="color: #b1b100;">Private</span> <span style="color: #b1b100;">Sub</span> Command1_Click<span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span></li><li style="" class="li1"><span style="color: #b1b100;">Dim</span> hProcess <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span>, iResult <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1"><span style="color: #b1b100;">If</span> List1.<span style="color: #66cc66;">ListIndex</span> = <span style="color: #cc66cc;">-1</span> <span style="color: #b1b100;">Then</span></li><li style="" class="li2"><span style="color: #b1b100;">Beep</span></li><li style="" class="li1"><span style="color: #b1b100;">MsgBox</span> <span style="color: #ffffff;">"Debe seleccionar una aplicación"</span></li><li style="" class="li1"><span style="color: #b1b100;">Else</span></li><li style="" class="li2">hProcess = OpenProcess<span style="color: #66cc66;">(</span>PROCESS_TERMINATE, <span style="color: #b1b100;">True</span>, List1.<span style="color: #66cc66;">ItemData</span><span style="color: #66cc66;">(</span>List1.<span style="color: #66cc66;">ListIndex</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span></li><li style="" class="li1">iResult = TerminateProcess<span style="color: #66cc66;">(</span>hProcess, <span style="color: #cc66cc;">99</span><span style="color: #66cc66;">)</span></li><li style="" class="li1">CloseHandle hProcess</li><li style="" class="li2">Sleep <span style="color: #66cc66;">(</span><span style="color: #cc66cc;">100</span><span style="color: #66cc66;">)</span></li><li style="" class="li1">RellenaLista</li><li style="" class="li1"><span style="color: #b1b100;">End</span> <span style="color: #b1b100;">If</span></li><li style="" class="li2"><span style="color: #b1b100;">End</span> <span style="color: #b1b100;">Sub</span></li><li style="" class="li1"><span style="color: #808080;">'/ [16/03/07- Zinnky-]</span></li></ol></div>[/vb]
[vb]<div class="vb" id="{CB}" style="font-family: monospace;"><ol><li style="" class="li1"> </li><li style="" class="li1"><span style="color: #808080;">'[16/03/07- Zinnky-]</span></li><li style="" class="li2"><span style="color: #b1b100;">Private</span> <span style="color: #b1b100;">Declare</span> <span style="color: #b1b100;">Function</span> CreateToolhelpSnapshot Lib <span style="color: #ffffff;">"kernel32"</span> Alias <span style="color: #ffffff;">"CreateToolhelp32Snapshot"</span> <span style="color: #66cc66;">(</span>ByVal lFlags <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span>, ByVal lProcessID <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span><span style="color: #66cc66;">)</span> <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1"><span style="color: #b1b100;">Private</span> <span style="color: #b1b100;">Declare</span> <span style="color: #b1b100;">Function</span> ProcessFirst Lib <span style="color: #ffffff;">"kernel32"</span> Alias <span style="color: #ffffff;">"Process32First"</span> <span style="color: #66cc66;">(</span>ByVal hSnapShot <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span>, uProcess <span style="color: #b1b100;">As</span> PROCESSENTRY32<span style="color: #66cc66;">)</span> <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1"><span style="color: #b1b100;">Private</span> <span style="color: #b1b100;">Declare</span> <span style="color: #b1b100;">Function</span> ProcessNext Lib <span style="color: #ffffff;">"kernel32"</span> Alias <span style="color: #ffffff;">"Process32Next"</span> <span style="color: #66cc66;">(</span>ByVal hSnapShot <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span>, uProcess <span style="color: #b1b100;">As</span> PROCESSENTRY32<span style="color: #66cc66;">)</span> <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li2"><span style="color: #b1b100;">Private</span> <span style="color: #b1b100;">Declare</span> <span style="color: #b1b100;">Sub</span> CloseHandle Lib <span style="color: #ffffff;">"kernel32"</span> <span style="color: #66cc66;">(</span>ByVal hPass <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span><span style="color: #66cc66;">)</span></li><li style="" class="li1"><span style="color: #b1b100;">Private</span> <span style="color: #b1b100;">Type</span> PROCESSENTRY32</li><li style="" class="li1">dwSize <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li2">cntUsage <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1">th32ProcessID <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1">th32DefaultHeapID <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li2">th32ModuleID <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1">cntThreads <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1">th32ParentProcessID <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li2">pcPriClassBase <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1">dwFlags <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1">szExeFile <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">String</span> * <span style="color: #cc66cc;">260</span></li><li style="" class="li2"><span style="color: #b1b100;">End</span> <span style="color: #b1b100;">Type</span></li><li style="" class="li1"><span style="color: #b1b100;">Private</span> <span style="color: #b1b100;">Declare</span> <span style="color: #b1b100;">Function</span> TerminateProcess Lib <span style="color: #ffffff;">"kernel32"</span> <span style="color: #66cc66;">(</span>ByVal hProcess <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span>, ByVal uExitCode <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span><span style="color: #66cc66;">)</span> <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1"><span style="color: #b1b100;">Private</span> <span style="color: #b1b100;">Declare</span> <span style="color: #b1b100;">Function</span> OpenProcess Lib <span style="color: #ffffff;">"kernel32"</span> <span style="color: #66cc66;">(</span>ByVal dwDesiredAccess <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span>, ByVal bInheritHandle <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span>, ByVal dwProcessId <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span><span style="color: #66cc66;">)</span> <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li2"><span style="color: #b1b100;">Const</span> PROCESS_TERMINATE = &H1</li><li style="" class="li1"><span style="color: #b1b100;">Const</span> PROCESS_CREATE_THREAD = &H2</li><li style="" class="li1"><span style="color: #b1b100;">Const</span> PROCESS_VM_OPERATION = &H8</li><li style="" class="li2"><span style="color: #b1b100;">Const</span> PROCESS_VM_READ = &H10</li><li style="" class="li1"><span style="color: #b1b100;">Const</span> PROCESS_VM_WRITE = &H20</li><li style="" class="li1"><span style="color: #b1b100;">Const</span> PROCESS_DUP_HANDLE = &H40</li><li style="" class="li2"><span style="color: #b1b100;">Const</span> PROCESS_CREATE_PROCESS = &H80</li><li style="" class="li1"><span style="color: #b1b100;">Const</span> PROCESS_SET_QUOTA = &H100</li><li style="" class="li1"><span style="color: #b1b100;">Const</span> PROCESS_SET_INFORMATION = &H200</li><li style="" class="li2"><span style="color: #b1b100;">Const</span> PROCESS_QUERY_INFORMATION = &H400</li><li style="" class="li1"><span style="color: #b1b100;">Const</span> STANDARD_RIGHTS_REQUIRED = &HF0000</li><li style="" class="li1"><span style="color: #b1b100;">Const</span> SYNCHRONIZE = &H100000</li><li style="" class="li2"><span style="color: #b1b100;">Const</span> PROCESS_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED <span style="color: #b1b100;">Or</span> SYNCHRONIZE <span style="color: #b1b100;">Or</span> &HFFF</li><li style="" class="li1"><span style="color: #b1b100;">Private</span> <span style="color: #b1b100;">Declare</span> <span style="color: #b1b100;">Sub</span> Sleep Lib <span style="color: #ffffff;">"kernel32"</span> <span style="color: #66cc66;">(</span>ByVal dwMilliseconds <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span><span style="color: #66cc66;">)</span></li><li style="" class="li1"><span style="color: #808080;">'Para llenar el listbox con los procesos</span></li><li style="" class="li2"><span style="color: #b1b100;">Sub</span> RellenaLista<span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span></li><li style="" class="li1"><span style="color: #b1b100;">Dim</span> hSnapShot <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1"><span style="color: #b1b100;">Dim</span> uProceso <span style="color: #b1b100;">As</span> PROCESSENTRY32</li><li style="" class="li2"><span style="color: #b1b100;">Dim</span> res <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1">List1.<span style="color: #66cc66;">Clear</span></li><li style="" class="li1">hSnapShot = CreateToolhelpSnapshot<span style="color: #66cc66;">(</span><span style="color: #cc66cc;">2</span>&, <span style="color: #cc66cc;">0</span>&<span style="color: #66cc66;">)</span></li><li style="" class="li2"><span style="color: #b1b100;">If</span> hSnapShot <> <span style="color: #cc66cc;">0</span> <span style="color: #b1b100;">Then</span></li><li style="" class="li1">uProceso.<span style="color: #66cc66;">dwSize</span> = <span style="color: #b1b100;">Len</span><span style="color: #66cc66;">(</span>uProceso<span style="color: #66cc66;">)</span></li><li style="" class="li1">res = ProcessFirst<span style="color: #66cc66;">(</span>hSnapShot, uProceso<span style="color: #66cc66;">)</span></li><li style="" class="li2"><span style="color: #b1b100;">Do</span> <span style="color: #b1b100;">While</span> res</li><li style="" class="li1">List1.<span style="color: #66cc66;">AddItem</span> <span style="color: #b1b100;">Left</span>$<span style="color: #66cc66;">(</span>uProceso.<span style="color: #66cc66;">szExeFile</span>, <span style="color: #b1b100;">InStr</span><span style="color: #66cc66;">(</span>uProceso.<span style="color: #66cc66;">szExeFile</span>, <span style="color: #b1b100;">Chr</span>$<span style="color: #66cc66;">(</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span> - <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">)</span></li><li style="" class="li1">List1.<span style="color: #66cc66;">ItemData</span><span style="color: #66cc66;">(</span>List1.<span style="color: #66cc66;">NewIndex</span><span style="color: #66cc66;">)</span> = uProceso.<span style="color: #66cc66;">th32ProcessID</span></li><li style="" class="li2">res = ProcessNext<span style="color: #66cc66;">(</span>hSnapShot, uProceso<span style="color: #66cc66;">)</span></li><li style="" class="li1"><span style="color: #b1b100;">Loop</span></li><li style="" class="li1"><span style="color: #b1b100;">Call</span> CloseHandle<span style="color: #66cc66;">(</span>hSnapShot<span style="color: #66cc66;">)</span></li><li style="" class="li2"><span style="color: #b1b100;">End</span> <span style="color: #b1b100;">If</span></li><li style="" class="li1"><span style="color: #b1b100;">End</span> <span style="color: #b1b100;">Sub</span></li><li style="" class="li1"><span style="color: #808080;">'Para cerrar el proceso seleccionado</span></li><li style="" class="li2"><span style="color: #b1b100;">Private</span> <span style="color: #b1b100;">Sub</span> Command1_Click<span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span></li><li style="" class="li1"><span style="color: #b1b100;">Dim</span> hProcess <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span>, iResult <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">Long</span></li><li style="" class="li1"><span style="color: #b1b100;">If</span> List1.<span style="color: #66cc66;">ListIndex</span> = <span style="color: #cc66cc;">-1</span> <span style="color: #b1b100;">Then</span></li><li style="" class="li2"><span style="color: #b1b100;">Beep</span></li><li style="" class="li1"><span style="color: #b1b100;">MsgBox</span> <span style="color: #ffffff;">"Debe seleccionar una aplicación"</span></li><li style="" class="li1"><span style="color: #b1b100;">Else</span></li><li style="" class="li2">hProcess = OpenProcess<span style="color: #66cc66;">(</span>PROCESS_TERMINATE, <span style="color: #b1b100;">True</span>, List1.<span style="color: #66cc66;">ItemData</span><span style="color: #66cc66;">(</span>List1.<span style="color: #66cc66;">ListIndex</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span></li><li style="" class="li1">iResult = TerminateProcess<span style="color: #66cc66;">(</span>hProcess, <span style="color: #cc66cc;">99</span><span style="color: #66cc66;">)</span></li><li style="" class="li1">CloseHandle hProcess</li><li style="" class="li2">Sleep <span style="color: #66cc66;">(</span><span style="color: #cc66cc;">100</span><span style="color: #66cc66;">)</span></li><li style="" class="li1">RellenaLista</li><li style="" class="li1"><span style="color: #b1b100;">End</span> <span style="color: #b1b100;">If</span></li><li style="" class="li2"><span style="color: #b1b100;">End</span> <span style="color: #b1b100;">Sub</span></li><li style="" class="li1"><span style="color: #808080;">'/ [16/03/07- Zinnky-]</span></li></ol></div>[/vb]