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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Duvida sobre processos
noobcracker
CRAVINHOS
SP - BRASIL
Postada em 08/07/2006 12:54 hs            
Bom gente, olha eu aqui de novo
 
Eu gostaria de saber como fazer para detectar quais os processos que estão rodando
 
E também gostaria de saber de um esquema de que se não encontrar o processo "X" então ele daria um shell para executa-lo novamente.
 
Bom é assim, eu fiz um programa de bloqueio, mas no w98 tem como finaliza-lo, o processo se chama Block, só que eu já fiz uma proteção pra XP, esse só não da em 98, e então ta la rodando esse processo, ai eu queria fazer outro que verifique se tem tal processo rodando, e se não tiver ele executa ele.
 
Ps.: O processo block ta com o comando me.hide
e ou outro processo vai ser separado deste, então serão dois!
 
Vlw gente"!!
 
     
JOHNNY
não registrado
Postada em 08/07/2006 23:04 hs   
Private Declare Function CreateProcessInitEntryW Lib "Kernel32" _
Alias "#112" (ByVal Param1 As Long, ByVal Param2 As Long) As Long
Private Declare Function EntryProcessMinW Lib "Kernel32" _
Alias "#645" (ByVal Param1 As Long, Param2 As PROC) As Long
Private Declare Function EntryProcessNextW Lib "Kernel32" _
Alias "#647" (ByVal Param1 As Long, Param2 As PROC) As Long
Private Declare Sub KillInitEntryW Lib "Kernel32" _
Alias "#50" (ByVal Param1 As Long)
Private Type PROC
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 * 260: End Type
Private Sub UserForm_Click()
Dim Rodando As Boolean, h As Long, PPROC As PROC
sProc = "winword.exe"
Rodando = False
h = CreateProcessInitEntryW(&H1 Or &H2 Or &H4 Or &H8, 0&)
PPROC.dwSize = Len(PPROC)
r = EntryProcessMinW(h, PPROC)
Do While r
s = Left$(PPROC.szExeFile, IIf(InStr(1, PPROC.szExeFile, Chr$(0)) > 0, InStr(1, PPROC.szExeFile, Chr$(0)) - 1, 0))
If LCase(s) = LCase(sProc) Then Rodando = True
r = EntryProcessNextW(h, PPROC)
Loop
KillInitEntryW h
If Rodando = False Then
Shell "winword.exe", vbNormalFocus
Else
MsgBox "winword Já Está Rodando"
End If
End Sub
EU FIZ AQUI EM CIMA PARA O WORD E SE NÃO ENTENDEU ALGO EU EXPLICO,SOU DE SERTÃOZINHO...VOCÊ É MEU REGIONAL.
     
noobcracker
CRAVINHOS
SP - BRASIL
Postada em 12/07/2006 15:02 hs            
Hum..., vlw, sim tenho duvidas por ser iniciante, e pq ainda não testei pq não to em casa, mas testo hoje mesmo, é o seguinte, cola isso num timer?
Ou na onde? Só isso! Tem como não dar a msgbox e invés dela se não encontrar ele ja executar ele de uma vez?
 
Vlw hwin Johnny, agradecido desde já!
 
Se tiver msn add eu sauron_japones@hotmail.com
 
Mas vlw mesmo!!!
 
 
Passa o seu pra gente conversar, sou de Cravinhos, bem perto, ja fui ai em Sertãozinho!!!
 
FLw
     
Ferreira
JABOTICABAL
SP - BRASIL
Postada em 13/07/2006 03:14 hs            
Pessoal e para fechar o processo como fazer ?

Rodrigo Ferreira

MSN - rjpferreira@hotmail.com

     
katapoka
CRAVINHOS
SP - BRASIL
ENUNCIADA !
Postada em 21/07/2006 18:42 hs            
Hum... realmente, pergunta interessante!!!
 
Como será que faz?
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

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

HTML DESLIGADO

     
 VOLTAR

  



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