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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Cancelar Processos no VB6
Ade
MACEIÓ
AL - BRASIL
Postada em 27/12/2005 17:47 hs            
Olá,
    Na seção dicas verifiquei que existe uma dica legal para checar se existe algum processo ativo e na dica foi utilizado a calculadora, ocorre que quero utilizar a mesma dica para usar com winword, mais quando este processo estiver ativo(é porque deu erro na aplicação e este processo fica ativo na memória e se eu executar a aplicação novamente dar erro) quero cancelar o mesmo como posso fazer isto? Segue abaixo a dica do site.
'Neste exemplo o Programa escolhido foi o Calc.exe,
'mas poderia ser qualquer outro, ou se pode criar um
'loop para verificar os programas que vc quiser bloquear
'o acesso a mais de uma vez.

Const TH32CS_SNAPHEAPLIST = &H1
Const TH32CS_SNAPPROCESS = &H2
Const TH32CS_SNAPTHREAD = &H4
Const TH32CS_SNAPMODULE = &H8
Const TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST Or _
TH32CS_SNAPPROCESS Or TH32CS_SNAPTHREAD Or TH32CS_SNAPMODULE)
Const TH32CS_INHERIT = &H80000000
Const MAX_PATH As Integer = 260
Private Type PROCESSENTRY32
    dwSize As Long
    cntUsage As Long
    th32ProcessID As Long
    th32DefaultHeapID As Long
    th32ModuleID As Long
    cntThreads As Long
    th32ParentProcessID As Long
    pcPriClassBase As Long
    dwFlags As Long
    szExeFile As String * MAX_PATH
End Type
Private Declare Function CreateToolhelp32Snapshot Lib "Kernel32" _
(ByVal lFlags As Long, ByVal lProcessID As Long) As Long

Private Declare Function Process32Min Lib "Kernel32" _
(ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long

Private Declare Function Process32Next Lib "Kernel32" _
(ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long

Private Declare Sub CloseHandle Lib "Kernel32" (ByVal hPass As Long)
Dim msgaviso As Integer

Private Sub cdmCalc_Click()
Dim hSnapShot As Long, uProcess As PROCESSENTRY32
    Dim r, strCalc  As String
    Dim varCalc As Variant
    hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0&)
    uProcess.dwSize = Len(uProcess)
    r = Process32Min(hSnapShot, uProcess)
    Do While r
        strCalc = (Left$(uProcess.szExeFile, _
        IIf(InStr(1, uProcess.szExeFile, Chr$(0)) > 0, _
        InStr(1, uProcess.szExeFile, Chr$(0)) - 1, 0)))
        If strCalc = "Calc.exe" Then
        msgaviso = MsgBox("Calculadora já está ativa!", _
        vbExclamation + vbOKOnly, "Resumo de Qualidade")
        GoTo 10:
        End If
        r = Process32Next(hSnapShot, uProcess)
    Loop
    varCalc = Shell("Calc.exe", vbNormalFocus)
10:    CloseHandle hSnapShot
 
Alguém pode me ajudar?.
T+
     
Ade
MACEIÓ
AL - BRASIL
Postada em 28/12/2005 17:19 hs            
Será que neste site especializado ninguém sabe ou nunca usou como cancelar um processo que está em execução no windows? Cadê os balas do VB?
     
Felipe595
RIO DE JANEIRO
RJ - BRASIL
ENUNCIADA !
Postada em 11/07/2006 09:28 hs            
Modifique a palavra 'Process32Min' por 'Process32Min' uqe irá funcionar.
 
Abraço!
   
Felipe595
RIO DE JANEIRO
RJ - BRASIL
Postada em 11/07/2006 09:39 hs            
Eita... o site está com problemas.. quando coloco a palavra primeiro em inglês ele coloca Min. 
O correto é Process32 e junto coloque a palavra primeiro em inglês.
 
é isso aê!
     
Ferreira
JABOTICABAL
SP - BRASIL
ENUNCIADA !
Postada em 25/08/2006 20:44 hs            
Ade, estou precisando da mesma coisa que vc, só que preciso cancelar todos os processos do MSACCESS que estiverem ativos !
 
Você pode me ajudar ?

Rodrigo Ferreira

MSN - rjpferreira@hotmail.com

   
Elieser Topassi
Pontos: 2843 Pontos: 2843
SÃO JOSÉ DO RIO PRETO
SP - BRASIL
Postada em 26/08/2006 00:26 hs            
Felipe, primeiro uma explicação...
não é problema do site... é segurança.
 
Ele troca palavras F i r s t  e L a s t por Min e Max para evitar problemas com xScritp e SQL Injection... são muitas outras palavras e simbolos que o site troca por motivo de segurança...


Elieser Carlos Topassi
Analista de Sistemas - Desenvolvedor VB/ASP/.Net

e-mail/msn:
elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil
_____________________________________________________
Emoções "O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)

     
Página(s): 1/2      PRÓXIMA »


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