Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-07-2007
Avatar de principiante22
principiante22 principiante22 is offline
Miembro
 
Registrado: nov 2006
Ubicación: Santo Domingo - Rep.Dom.
Posts: 90
Poder: 18
principiante22 Va por buen camino
MataProcesos

Saludos, como puedo matar el proceso de access por codigos??
__________________
Att: ΓħΞ ŘēąĿ βļåķΣ
Responder Con Cita
  #2  
Antiguo 24-07-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Revisa el truco 278, que habla de cómo cerrar una aplicación a partir del título de la ventana.
Se puede usar también el nombre de la clase en la API findWindows.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 24-07-2007
Avatar de principiante22
principiante22 principiante22 is offline
Miembro
 
Registrado: nov 2006
Ubicación: Santo Domingo - Rep.Dom.
Posts: 90
Poder: 18
principiante22 Va por buen camino
pero lo que deseo de cerrar es el proceso de un programa que no tiene ventana, asi que nunca lo encuentra, que debo de hacer con esos codigos para ponerlo a cerrar un proceso??
__________________
Att: ΓħΞ ŘēąĿ βļåķΣ
Responder Con Cita
  #4  
Antiguo 26-07-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Código Delphi [-]
uses Windows, TlHelp32;
 
var
 hSnapshot, hProcess: Cardinal;
 ProcessEntry: TProcessEntry32 = (dwSize: SizeOf(TProcessEntry32));
 ModuleEntry: TModuleEntry32 = (dwSize: SizeOf(TModuleEntry32));
 
begin
 hSnapshot := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
 if Process32First(hSnapshot, ProcessEntry) then
  repeat
   if lstrcmpi('msaccess.exe', @ProcessEntry.szExeFile) = 0 then
    begin
     hProcess := OpenProcess(PROCESS_TERMINATE, False, ProcessEntry.th32ProcessID);
     TerminateProcess(hProcess, 0);
     CloseHandle(hProcess);
     Break;
    end;
  until not Process32Next(hSnapshot, ProcessEntry);
 CloseHandle(hSnapshot);
end.
Responder Con Cita
  #5  
Antiguo 26-07-2007
Avatar de principiante22
principiante22 principiante22 is offline
Miembro
 
Registrado: nov 2006
Ubicación: Santo Domingo - Rep.Dom.
Posts: 90
Poder: 18
principiante22 Va por buen camino
Cita:
Empezado por cHackAll
ProcessEntry: TProcessEntry32 = (dwSize: SizeOf(TProcessEntry32));
ModuleEntry: TModuleEntry32 = (dwSize: SizeOf(TModuleEntry32));
La parte en negrita me da error, por que será?

Ambos me dan el mismo error (Cannot initialize local variables).
__________________
Att: ΓħΞ ŘēąĿ βļåķΣ

Última edición por principiante22 fecha: 26-07-2007 a las 02:49:08.
Responder Con Cita
  #6  
Antiguo 26-07-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

¿Pretendes que adivinemos el error que "te da"? Por favor, si quieres que te ayuden, empieza por copiar aquí el mensaje de error.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 26-07-2007
Avatar de principiante22
principiante22 principiante22 is offline
Miembro
 
Registrado: nov 2006
Ubicación: Santo Domingo - Rep.Dom.
Posts: 90
Poder: 18
principiante22 Va por buen camino
lo puse hace un rato ya, lo que pasa es que respondiste muy rapido
__________________
Att: ΓħΞ ŘēąĿ βļåķΣ
Responder Con Cita
  #8  
Antiguo 26-07-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

No sé exactamente porqué el error, puesto que el código parece "probado", pero, en todo caso puedes intentarlo con algo como esto, que acabo de probar y parece que funciona bien.

Código Delphi [-]
var
 hSnapshot, hProcess: Cardinal;
 ProcessEntry: TProcessEntry32;
 ModuleEntry: TModuleEntry32;

begin
 ProcessEntry.dwSize := SizeOf(TProcessEntry32);
 ModuleEntry.dwSize := SizeOf(TModuleEntry32);

 hSnapshot := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS, 0);
 if Process32First(hSnapshot, ProcessEntry) then
  repeat
   if lstrcmpi('calc.exe', @ProcessEntry.szExeFile) = 0 then
    begin
     hProcess := OpenProcess(PROCESS_TERMINATE, False, ProcessEntry.th32ProcessID);
     TerminateProcess(hProcess, 0);
     CloseHandle(hProcess);
     Break;
    end;
  until not Process32Next(hSnapshot, ProcessEntry);
 CloseHandle(hSnapshot);
end;

Por cierto, si quitas el "break" que se remarcado, cerrarás todos los procesos con el nombre indicado, y no sólo el "primero" que encuentre la rutina.

El asunto podría quedar más o menos así:

Código Delphi [-]
uses
  TlHelp32;

function MatarProcesos(nombre: string): boolean;
var
 ModuleEntry: TModuleEntry32;
 ProcessEntry: TProcessEntry32;
 hSnapshot, hProcess: Cardinal;
begin
 result := false;
 ModuleEntry.dwSize := SizeOf(TModuleEntry32);
 ProcessEntry.dwSize := SizeOf(TProcessEntry32);
 hSnapshot := CreateToolHelp32Snapshot(TH32CS_SNAPPROCESS,0);
 if Process32First(hSnapshot, ProcessEntry) then
  repeat
   if (lstrcmpi(PChar(nombre), @ProcessEntry.szExeFile) = 0) then
    begin
     hProcess := OpenProcess(PROCESS_TERMINATE,
                  false,ProcessEntry.th32ProcessID);
     result := TerminateProcess(hProcess,0);
     CloseHandle(hProcess);
    end;
  until not Process32Next(hSnapshot, ProcessEntry);
 CloseHandle(hSnapshot);
end;
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 26-07-2007 a las 03:07:29.
Responder Con Cita
  #9  
Antiguo 26-07-2007
Avatar de principiante22
principiante22 principiante22 is offline
Miembro
 
Registrado: nov 2006
Ubicación: Santo Domingo - Rep.Dom.
Posts: 90
Poder: 18
principiante22 Va por buen camino
ahora si me funciono, Gracias dec
__________________
Att: ΓħΞ ŘēąĿ βļåķΣ
Responder Con Cita
  #10  
Antiguo 26-07-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Responder Con Cita
  #11  
Antiguo 26-07-2007
Avatar de principiante22
principiante22 principiante22 is offline
Miembro
 
Registrado: nov 2006
Ubicación: Santo Domingo - Rep.Dom.
Posts: 90
Poder: 18
principiante22 Va por buen camino
A ti tambien te lo agradezco cHackAll, fue que se me paso decirtelo orita
__________________
Att: ΓħΞ ŘēąĿ βļåķΣ
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 01:13:34.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi