Verificar se um programa esta sendo executado!
Boa Tarde a Todos,
Qual é forma de se verificar se um programa esta sendo executado no Windows atraves do Delphi?
Eu preciso manter um programa em Delphi rodando enquanto outro programa (não Delphi) estiver sendo executado.
Utilizo Delphi 7
Obrigado.
Qual é forma de se verificar se um programa esta sendo executado no Windows atraves do Delphi?
Eu preciso manter um programa em Delphi rodando enquanto outro programa (não Delphi) estiver sendo executado.
Utilizo Delphi 7
Obrigado.
Joao.fli
Curtidas 0
Respostas
Paulocesar1301
18/04/2006
Se souberes o nome do executável: [color=red:58ecb0fa52][b:58ecb0fa52]uso em dll, mas funciona fora tb[/b:58ecb0fa52][/color:58ecb0fa52]
Use assim:
Senão souber o nome do executável, podes ir pelo nome da janela:
Abraços e Bons Códigos :wink:
function PrgRodando(Executavel: WideString): Boolean; Export; StdCall; var ContinueLoop: BOOL; FSnapshotHandle: THandle; FProcessEntry32: TProcessEntry32; begin FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); FProcessEntry32.dwSize := SizeOf(FProcessEntry32); ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32); Result := False; while Integer(ContinueLoop) <> 0 do begin if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) = UpperCase(Executavel)) or (UpperCase(FProcessEntry32.szExeFile) = UpperCase(Executavel))) then begin Result := True; end; ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32); end; CloseHandle(FSnapshotHandle); end;
Use assim:
If PrgRodando(´nome do executavel.exe´) Then PodeBrincar Else NãoPodeBrincar;
Senão souber o nome do executável, podes ir pelo nome da janela:
Var hWND: THandle; hWND := FindWindow(nil, ´Nome da Janela do Aplicativo´); If hWND = 0 Then NãoPodeBrincar Else PodeBrincar;
Abraços e Bons Códigos :wink:
GOSTEI 0
Joao.fli
18/04/2006
Obrigado,
Funcionou perfeitamente...
Abração
Funcionou perfeitamente...
Abração
GOSTEI 0