Rafa_DB 0 Denunciar post Postado Novembro 5, 2015 Pessoal estou com um problema, preciso saber se um programa esta on no meu pc, entao usei o daemontools como exemplo,segue o codigo; string DTLite = Process.GetCurrentProcess().ProcessName; if (Process.GetProcessesByName(DTLite).Length > 1 ){ MessageBox.Show("Um arquivo malicioso foi encontrado, ele será eliminado após está mensagem.", "Perigo!", MessageBoxButtons.OK, MessageBoxIcon.Error); } Minha duvida é, por que length > 1?sempre que eu coloco > 0, o programa me retorna a mensagem... mesmo o processo não estando abertoe sempre que eu coloco > 1, o programa nao me retorna a mensagem... mesmo o programa estando aberto.. o que me sugerem? Compartilhar este post Link para o post Compartilhar em outros sites
Dan Borges 26 Denunciar post Postado Novembro 5, 2015 Como assim? Foi você que fez o código ou pegou de exemplo? GetProcessesByName() deve retornar um array com vários processos. Se há somente 1 processo aberto a parte "Length > 1" não irá funcionar Compartilhar este post Link para o post Compartilhar em outros sites
Rafa_DB 0 Denunciar post Postado Novembro 5, 2015 Eu peguei o codigo, e mudei pra oq eu queria, string PCTSPK = Process.GetCurrentProcess().ProcessName; string AKL = Process.GetCurrentProcess().ProcessName; string POL = Process.GetCurrentProcess().ProcessName; string HGUS = Process.GetCurrentProcess().ProcessName; string BKP = Process.GetCurrentProcess().ProcessName; string YIO = Process.GetCurrentProcess().ProcessName; string DTLite = Process.GetCurrentProcess().ProcessName; if (Process.GetProcessesByName(PCTSPK).Length > 1 || Process.GetProcessesByName(AKL).Length > 1 || Process.GetProcessesByName(POL).Length > 1 || Process.GetProcessesByName(HGUS).Length > 1 || Process.GetProcessesByName(BKP).Length > 1 || Process.GetProcessesByName(YIO).Length > 1 || Process.GetProcessesByName(DTLite).Length >= 1 ) { cont = 1; MessageBox.Show("Um arquivo malicioso foi encontrado, ele será eliminado após está mensagem.", "Perigo!", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } else { MessageBox.Show("Você esta seguro", "Seguro!", MessageBoxButtons.OK, MessageBoxIcon.Information); } } Compartilhar este post Link para o post Compartilhar em outros sites
KhaosDoctor 242 Denunciar post Postado Novembro 9, 2015 Printe o resultado do array aqui em cada um dos casos para podermos ajudar. Compartilhar este post Link para o post Compartilhar em outros sites
Rafael Mitsunaka 11 Denunciar post Postado Novembro 10, 2015 Isso te ajuda? List<char> PCTSPK = Process.GetCurrentProcess().ProcessName.ToList(); if (PCTSPK.Count > 0) Console.Write("Achou"); Compartilhar este post Link para o post Compartilhar em outros sites