| 
	
		|  Autor | Tema: [VB6] Comprobar si proceso existe y mostrar su ruta, AYUDA  (Leído 10,209 veces) |  
	| 
			| 
					
						| revenge1252 
								
								 Desconectado 
								Mensajes: 70
								
								
								
								
								
								   | 
 
Hola a todos mi duda seria esta Me gustaria que mi proyecto comprobara si un proceso esta activo, por ejemplo, explorer.exe. y si esta activo me de su ruta en por ejemplo un text. llevo rato mirando pero no consigo encontrar la manera de hacerlo, aver si alguien puede ayudarme. Saludos!  
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  |  |  | 
			| 
					
						| 79137913 
								       
								
								 Desconectado 
								Mensajes: 1.169
								
								 
								4 Esquinas
								
								
								
								
								
								     | 
 
HOLA!!!
 En el foro hay mucho de eso, busca y vas a encontrar,,igual, ya te respondieron.
 
 GRACIAS POR LEER!!!
 |  
						| 
								|  |  
								|  |  En línea | 
 
 "Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!""La peor de las ignorancias es no saber corregirlas"
 
 79137913                          *Shadow Scouts Team*
 |  |  |  | 
			| 
					
						| seba123neo | 
 
WMI esta bien pero yo usaria api, siempre es lo mejor. |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| revenge1252 
								
								 Desconectado 
								Mensajes: 70
								
								
								
								
								
								   | 
 
El problema esque nose como hacer el codigo para comprobar si el proceso existe y que muestre su ruta :S ya tenia codigos para mostrar y cerrar procesos...
 
 aun asi gracias igualmente x la ayuda!
 
 
 aver si alguien puede decirme algo, saludos ^^
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| revenge1252 
								
								 Desconectado 
								Mensajes: 70
								
								
								
								
								
								   | 
 
Aqui tengo el code para ver si esta corriendo, alguien podria modificarlo para que coja ese mismo proceso y diga su ruta en el caso de que este corriendo? gracias por la ayuda!   el code es este: Option ExplicitPrivate Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As LongPrivate Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As LongPrivate Declare Function EnumProcesses Lib "PSAPI.DLL" (lpidProcess As Long, ByVal cb As Long, cbNeeded As Long) As LongPrivate Declare Function EnumProcessModules Lib "PSAPI.DLL" (ByVal hProcess As Long, lphModule As Long, ByVal cb As Long, lpcbNeeded As Long) As LongPrivate Declare Function GetModuleBaseName Lib "PSAPI.DLL" Alias "GetModuleBaseNameA" (ByVal hProcess As Long, ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As LongPrivate Const PROCESS_VM_READ = &H10Private Const PROCESS_QUERY_INFORMATION = &H400 Private Function EstaCorriendo(ByVal NombreDelProceso As String) As BooleanConst MAX_PATH As Long = 260Dim lProcesses() As Long, lModules() As Long, N As Long, lRet As Long, hProcess As LongDim sName As StringNombreDelProceso = UCase$(NombreDelProceso)ReDim lProcesses(1023) As LongIf EnumProcesses(lProcesses(0), 1024 * 4, lRet) ThenFor N = 0 To (lRet \ 4) - 1hProcess = OpenProcess(PROCESS_QUERY_INFORMATION Or PROCESS_VM_READ, 0, lProcesses(N))If hProcess ThenReDim lModules(1023)If EnumProcessModules(hProcess, lModules(0), 1024 * 4, lRet) ThensName = String$(MAX_PATH, vbNullChar)GetModuleBaseName hProcess, lModules(0), sName, MAX_PATHsName = Left$(sName, InStr(sName, vbNullChar) - 1)If Len(sName) = Len(NombreDelProceso) ThenIf NombreDelProceso = UCase$(sName) Then EstaCorriendo = True: Exit FunctionEnd IfEnd IfEnd IfCloseHandle hProcessNext NEnd IfEnd Function Private Sub Command1_Click()If EstaCorriendo("calc.exe") = True ThenMsgBox "Esta Corriendo"End IfIf EstaCorriendo("calc.exe") = False ThenMsgBox "No esta Corriendo"End IfEnd Sub
 |  
						| 
								|  |  
								| « Última modificación: 19 Mayo 2011, 16:22 pm por raul338 » |  En línea | 
 
 |  |  |  | 
			| 
					
						| Hasseds 
								
								 Desconectado 
								Mensajes: 145
								
								   | 
 
. Function Ruta(lngPid As Long) As String
 
 Dim Handle_Proceso As Long
 Handle_Proceso = OpenProcess(&H410, &H0, lngPid)
 
 Dim Buffer As String * 260
 
 Call GetModuleFileNameExA(Handle_Proceso, &H0, Buffer, 260)
 Call CloseHandle(Handle_Proceso)
 
 Ruta = Split(Buffer, Chr$(0))(0)
 
 End Function
 
 
lngPid = lProcesses(N) |  
						| 
								|  |  
								| « Última modificación: 20 Mayo 2011, 11:03 am por Hasseds » |  En línea | 
 
 Sergio Desanti |  |  |  | 
			| 
					
						| revenge1252 
								
								 Desconectado 
								Mensajes: 70
								
								
								
								
								
								   | 
 
. Function Ruta(lngPid As Long) As String
 
 Dim Handle_Proceso As Long
 Handle_Proceso = OpenProcess(&H410, &H0, lngPid)
 
 Dim Buffer As String * 260
 
 Call GetModuleFileNameExA(Handle_Proceso, &H0, Buffer, 260)
 Call CloseHandle(Handle_Proceso)
 
 Ruta = Split(Buffer, Chr$(0))(0)
 
 End Function
 
 
lngPid = lProcesses(N)Muchas gracias por tu ayuda, ya lo adapte y funciona perfectamente    Saludos!    |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | Comprobar si existe un archivo Programación Visual Basic
 | {_The_Alwar_} | 6 | 31,526 |  20 Junio 2005, 01:50 am por Slasher-K
 |  
						|   |   | Sacar ruta de proceso. Scripting
 | leogtz | 5 | 4,807 |  11 Agosto 2008, 19:13 pm por leogtz
 |  
						|   |   | mostrar ruta de proceso Programación Visual Basic
 | Hans el Topo | 4 | 2,876 |  18 Septiembre 2008, 12:47 pm por Hans el Topo
 |  
						|   |   | Ver ID del proceso (conexion) y comprobar su estado Bases de Datos
 | XafiloX | 3 | 7,275 |  27 Febrero 2010, 16:47 pm por XafiloX
 |  
						|   |   | [Ayuda] Cómo mostrar la ruta de una imagen en un TextBox .NET (C#, VB.NET, ASP)
 | Strem404 | 2 | 4,284 |  29 Octubre 2012, 17:36 pm por Strem404
 |    |