YaaN 0 Denunciar post Postado Março 1, 2012 Olá! Como posso detectar processos e executar uma função? ( Uma MSGBOX como exemplo ) O motivo de querer esse código, é que estou a desenvolver um pequeno " MULTI TOOL " para segurança.. no qual tem a função de checar os processos abertos e determinar se o mesmo pode conter um virus.. Como sabemos existe vários virus que criam seu proprio processo. Então oque quero é criar uma pequena lista dos processos que podem ser um virus ( Já tenho essa lista ) e abrir uma msgbox. Exemplo: O usuário clicou no botão CHECAR PROCESSOS, ele acha o processo virus.exe ( Que está naquela listinha dita acima ).. ele vai retornar a MSGBOX " O processo VIRUS.EXE pode ser malicioso " Acho que da para vocês entenderem minha duvida Compartilhar este post Link para o post Compartilhar em outros sites
Ace Stryker™ 0 Denunciar post Postado Março 1, 2012 uses TlHelp32; function processExists(exeFileName: string): Boolean; 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(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) = UpperCase(ExeFileName))) then begin Result := True; end; ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32); end; CloseHandle(FSnapshotHandle); end; Fonte: Delphi Triks Usando: if processexists('virus.exe') then ShowMessage('VIRUS ABERTO'); Compartilhar este post Link para o post Compartilhar em outros sites
YaaN 0 Denunciar post Postado Março 1, 2012 Obrigado amigo. Funcionando perfeitamente. Compartilhar este post Link para o post Compartilhar em outros sites