USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Finalizar Processos
Leonardo
SÃO PEDRO DA ALDEIA
RJ - BRASIL
ENUNCIADA !
Postada em 23/11/2004 20:18 hs            
Olá a todos. Preciso que o meu programa feche tudo o que estiver aberto na máquina. Desde o bloco de notas até jogos em 3D. Eu já havia consegui fazer isso com a seguinte rotina:
 
Function FecharJanelas(ByVal hwnd As Long, ByVal lParam As Long) As Boolean
    Dim lTexto As String, Comp As Long, ProcName As Long
    Dim ProcessId As Long, ExitCode As Long
    On Error Resume Next
    If IsWindowVisible(hwnd) Then
        Comp = GetWindowTextLength(hwnd)
        lTexto = Space(Comp)
        GetWindowText hwnd, lTexto, Comp + 1
        If Trim(lTexto) <> "" And Trim(lTexto) <> "Program Manager" Then
            Err = 0
            GetWindowThreadProcessId hwnd, ProcessId
            ProcName = OpenProcess(PROCESS_QUERY_INFORMATION Or PROCESS_TERMINATE, False, ProcessId)
            GetExitCodeProcess ProcName, ExitCode
            TerminateProcess ProcName, ExitCode
            CloseHandle ProcName
            If Err <> 0 Then DestroyWindow hwnd
        End If
    End If
    FecharJanelas = True
End Function
 
Porém, ela tem se mostrado ineficiente quando se trata de jogos como NFSU, por exemplo. Alguém teria algum outro código que funcione melhor? Uso o WinXP.
 
Obrigado.
   
Fuintersoft1
SAO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 30/11/2004 12:21 hs            
o windows xp tem gerenciador de tarefas pesquise por este  lado.
 
   
Leonardo
SÃO PEDRO DA ALDEIA
RJ - BRASIL
ENUNCIADA !
Postada em 30/11/2004 12:34 hs            
Boiei. O problema é que as APIs não fecham todos os programas. Dessa vez criei uma rotina minha mesmo do zero. Assim que der, eu vou testar pra ver se funciona.
   
Roßerto
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SAO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 30/11/2004 13:01 hs            
Leonardo procure na SEÇÃO TROCAS/VB por PROCESS COMMANDER
 
é um exemplo que monitora todos os processos do windows e vc pode matar
qualquer um, inclusive as dlls
 
Roberto
   
Sandro
não registrado
Postada em 30/11/2004 22:46 hs   
Olá Leonardo,
 
Gostaria apenas de alertá-lo de que nem todos os processos podem ser encerrados de forma segura por sua aplicação. Você pode derrubar um processo interno do Sistema Operacional e deixara  máquina instável. Tome bastante cuidado, ok?
     
Leonardo
SÃO PEDRO DA ALDEIA
RJ - BRASIL
Postada em 30/11/2004 23:59 hs            
Vou procurar, Roberto.
 
Sandro, pode deixar. Estou finalizando só os processos iniciados pelo usuário. Os de sistema, eu nem listo.
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página