• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

davide_shot

VB6 - Verificar Programas ?!

13 mensagens neste tópico

Boas,

gostava de saber como se faz para verificar se um determinado programa esta em execução, ou saber os programas que estão em execução

ou até mesmo dizer a extensão do programa e ele dizer-me que o programa esta em execução ou que esta a ser usado !!

Espero ter deixado bem explicito o que pretendo,

Abraço !  ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ctrl+Alt+Del

lol

é isto que queres??? é que lá está tudo aquilo que pretendes...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas, tens abrir a partir do vb os processos e listar com uma condição. exemplo:

if Processo <> "AVG.exe" then
         <Lista programas>
end if

Onde tens <> "AVG.exe" irás colocar uma instrução and ou or dependendo do que queres fazer. Espero que tenha ajudado.....

Cumprimentos....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Existe um tut no forum que fala sobre isso, e inclui a linha de codigo para esse efeito... Eu proprio ja usei, mas formatei o pc á pouco, e os projectos foram se e já não voltaram...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois....bem eu tenho a ideia que existe ou pelo menos existia e uma questao de procurares por Processo na pesquisa deste forum...

Cumprimentos....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bem apesar de tudo encontrei isto no site Vbmania,isto já faz mais ou menos o que eu quero... obg pelas respostas desde já  ;)

metam isto num Módulo e depois corram atraves do sub main

e o que isto vai fazer e verificar se o windows media player está a correr ou nao ! se tiver irá dizer TRUE se não tiver irá dizer FALSE..

Option Explicit
Private Const TH32CS_SNAPPROCESS As Long = 2
Private Const MAX_PATH As Long = 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 Process32First Lib "Kernel32" (ByVal hSnapShot As Long, _
                                                        typProcess As PROCESSENTRY32) As Long
Private Declare Function Process32Next Lib "Kernel32" (ByVal hSnapShot As Long, _
                                                       typProcess As PROCESSENTRY32) As Long
Private Declare Sub CloseHandle Lib "Kernel32" (ByVal hPass As Long)
Public Function AppIsRunning(ByVal AppName As String) As Boolean
    Dim Process As PROCESSENTRY32
    Dim hSnapShot As Long
    Dim r As Long
    AppName = LCase$(AppName)
    hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0&)
    If hSnapShot <> -1 Then
        Process.dwSize = Len(Process)
        r = Process32First(hSnapShot, Process)
        Do While r
            If LCase$(Left$(Process.szExeFile, InStr(1, Process.szExeFile, vbNullChar) - 1)) = AppName Then
                AppIsRunning = True
                r = False
            End If
            r = Process32Next(hSnapShot, Process)
        Loop
        CloseHandle hSnapShot
    End If
End Function
'Uso
Private Sub Main()
    MsgBox AppIsRunning("wmplayer.exe")
End Sub

só que isto só verifica no pc em si, e eu queria verificar na REDE, e se o programa estivesse a correr poder mandá-lo abaixo !! ??

é isto que eu queria basicamente !!  se alguem souber algo apite aqui !  ;)

Obg, abraços !

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

para isso tens de fazer um programa, para instalares no outro pc, e fazias ligacao cliente servidor, e envia va t os dados, assim controlavas o pc...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

nao... controlos winsock é o controlo que te permite fazer uma conexão entre dois computadores cliente servidor...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

precisava saber como por um determinado programa a correr noutro pc através do meu ??

precisva talvez de uns tutoriais de como mexer no winsock visto nunca ter mexido nesse componente, ou de algumas ajudas  !!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas...

davide_shot,  se estudares aquele código fonte que esta nessa página que o asworm postou, vais conseguir fazer o que queres.

Acho que ainda não percebeste foi a ideia principal. Tipo, o que tu queres é verificar se um determinado processo esta a correr em varios computadores dentro de uma rede, e caso esteja ou não, executar algumas instruções. Para fazeres isso a todos os pc's que estao na rede, não basta simplesmente que estejam ligados em rede. O proximo passo depende do que queres fazer. Qual é o teu objectivo? Queres realmente que haja comunicação entre os pc's, em relação a esse processo? Se sim, então uma boa alternativa é utilizares Winsocks. Se o teu objectivo é apenas verificar se o processo esta a correr ou não e executar algo, então não faz muito sentido os pc's comunicarem. Basta fazeres um programa e colocar esse programa em todos os pc's da rede e esta feito. Agora depende do que queres fazer.

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora