Terminar proceso sin Ventana
Terminar proceso sin Ventana
Muy buenas, estoy intentando para la ejecucion de un proceso con la funcion GetModuleHandle pero solo me devuelve el handle de los procesos que tienen window, entonces ¿Hay alguna funcion que me devuelve el handle de un proceso sin window¿d
Un Saludo
Un Saludo
Este codigo te da los procesos con ventana...
y este todos...
Para que salgan todos solo tienes que quitar el if IsWindowVisible(hWnd) .and. GETWINDOW(hWnd,GW_OWNER)==0
Code: Select all
local aNombres:={},hWnd:=GETWINDOW(GETDESKTOPWINDOW(),GW_CHILD)
WHILE hWnd != 0
cTitle:=alltrim(GETWINDOWTEXT(hWnd))
if cTitle<>""
if IsWindowVisible(hWnd) .and. GETWINDOW(hWnd,GW_OWNER)==0 .and. cTitle<>"Program Manager"
aadd(aNombres,cTitle)
endif
endif
hWnd:=GETWINDOW(hWnd,GW_HWNDNEXT)
ENDDO
Code: Select all
local aNombres:={},hWnd:=GETWINDOW(GETDESKTOPWINDOW(),GW_CHILD)
WHILE hWnd != 0
cTitle:=alltrim(GETWINDOWTEXT(hWnd))
if cTitle<>""
aadd(aNombres,cTitle)
endif
hWnd:=GETWINDOW(hWnd,GW_HWNDNEXT)
ENDDO
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
Re:
Muy buenas, antetodo gracias, ahora como puedo terminar la aplicacion si solo se como se llama el ejecutable y no como se llama la ventana, es decir, como puedo enlazarlos con la funcion TerminateApp, solo necesito el nombre del ejecutable al que está unido este proceso.
Un Saludo.
Un Saludo.
La variable hWnd es el handle del proceso... pasaselo a la función
TerminateApp(hWnd,<nMode>)
<nMode>
UAE_BOX 0 Display the Application Error message box and then ends the task
NO_UAE_BOX 1 Does not display the Application Error message box
TerminateApp(hWnd,<nMode>)
<nMode>
UAE_BOX 0 Display the Application Error message box and then ends the task
NO_UAE_BOX 1 Does not display the Application Error message box
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Un poco de código a partir de que ya tengamos el hWnd, podria ser...
Una vez obtenido el hWnd ¿ sería algo asi ?
Una vez obtenido el hWnd ¿ sería algo asi ?
Code: Select all
GetWindowThreadProcessId(hWnd,@hProcess)
TerminateApp(hProcess,0)
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
Re
Muy buenas, he probado el código pero no me cierra el proceso no se si es problema de las funciones que tengo, me podreis poner la funcion GetWindowThreadProcessId y como utilizar TerminateApp.
Por que las que yo tengo no me cierra el proceso.
Un Saludo.
Por que las que yo tengo no me cierra el proceso.
Un Saludo.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re:
Muy buenas, es ese el problema que tenía al principio con GetModuleHandle( cNombreAplicacion ) solo me devuelve le handle de los procesos con ventana pero los procesos sin ventana no me devuelve el handle, entonces pense en recoger el handle de todos los procesos y así tener el handle del proceso, pero con GETWINDOW(hWnd,GW_HWNDNEXT) solo me devuelve el handle pero ese es de la ventana y no del proceso en si, ¿como podría coger el handle del proceso y terminarlo?
Un Saludo.
Un Saludo.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact: