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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  COMO SABER SE UM ARQUIVO ESTÁ EM USO
H e n n y
Pontos: 2843
SALVADOR
BA - BRASIL
Postada em 30/09/2005 21:08 hs         
Bom, se vc tiver usando um instalador, o próprio se encarrega disso, caso contrário utilize este código.
 
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Const WM_COMMAND = &H111
Private Sub Command1_Click()
    Dim hwnd As Long
    hwnd = FindWindow("NotePad", vbNullString)
    If hwnd = 0 Then
        MsgBox "Não está sendo executado"
    Else
        MsgBox "Está sendo executado"
    End If
End Sub
 
Para testar abra o Bloco de notas!
     
H e n n y
Pontos: 2843
SALVADOR
BA - BRASIL
ENUNCIADA !
Postada em 30/09/2005 21:10 hs         
Se vc estiver utilizando um instalador (Por exemplo o Inno Setup) ele se encarrega disso, caso contrário utilize o código abaixo. 
 
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Const WM_COMMAND = &H111
Private Sub Command1_Click()
    Dim hwnd As Long
    hwnd = FindWindow("NotePad", vbNullString)
    If hwnd = 0 Then
        MsgBox "Não está sendo executado"
    Else
        MsgBox "Está sendo executado"
    End If
End Sub
Para testar abra o Bloco de Notas
   
Luiz Turmina
PORTO ALEGRE
RS - BRASIL
ENUNCIADA !
Postada em 05/10/2005 12:47 hs         
Já uso esta rotina para não deixar que dois programas iguais sejam executados ao mesmo tempo na mesma máquina. Mas não posso usar esta rotina porque tenho que verificar se o programa está rodando via rede e pode ter mais de um executável na outra máquina. Teria que ser uma rotina ou API que me retornasse uma resposta de em uso ou não passando apenas o caminho do exe.

Emoções Luiz Turmina Emoções
   
7Cordas
PORTO ALEGRE
RS - BRASIL
ENUNCIADA !
Postada em 06/10/2005 10:36 hs            
Tu tens como alterar o programa "Grandão"???
Minha pergunta é pelo seguinte: O ideal para este tippo de coisa, é conectar por Socket. Eu faço as atualizações tudo por SOCKET. É só colocar um Winsock nos dois programas e depois tentar conectar. Coloque uma rotina de TimeOut pra não ficar infinitamente tentando a conexão. Se conectar é só mandar uma Mensagem de Verificação. Caso a mensagem seja respondida de acordo com o que o "Programinha" espera, entao o "Programão" está rodando.
Se quiseres posso fazer um esboço pra ti e te mandar. Afinal, somos conterraneos...

Cristiano Fischer
Projeto SIGA - Sistemas Integrados de Gestão
   
7Cordas
PORTO ALEGRE
RS - BRASIL
Postada em 06/10/2005 10:47 hs            
Po cara, escrevi uma resposta bem leggal pra ti mas acho que deu problema no forum pois não cadastrou minha resposta. Serei mais sucinto desta vez.
Utilize Sockets. Eu sou totalmente a fã desta tecnologia na area de Comunicação entre aplicativos. Se quiseres posso esboçar alguma coisa pra ti....
Um abraço, conterraneo

Cristiano Fischer
Projeto SIGA - Sistemas Integrados de Gestão
     
aclentz
CAXIAS DO SUL
RS - BRASIL
ENUNCIADA !
Postada em 06/10/2005 12:45 hs            
Buenas!!
 
Também estou interessado neste caso, será que poderia enviar para mim um esbosso do programa, pois acredito que terei este problema daqui um tempo.
 
Agradeço
 
Antônio Carlos
AL Soluçoes em Informática
Caxias do Sul - RS
 
   
Página(s): 2/3     « ANTERIOR    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