VERIFICAR SE UM PROGRAMA ESTA ABERTO E ATIVO

MARCELODAVID 19/06/2012 11:08:52
#404446
Bom dia a todos,
Saber se o programa está me execução isso eu sei, mas o que preciso
saber também é se esse programa é o que está ativo na ária de trabalho.

Exemplo: Se eu abrir o Word e o Excel ao mesmo tempo e minimizar ou
simplesmente começar a digitar no Word, o Excel continuará aberto, mas não ativo.
O Programa que estará ativo é o Word. Pois ele é que tem o foco.
Pois bem, preciso saber se um determinado programa está aberto e ativo.

Preciso disso em Vb.Net e em Vb/VBA

Grato pela ajuda!
KERPLUNK 19/06/2012 12:18:37
#404451
Resposta escolhida
Hmmm, isso parece exatamente o que uma aplicação keylogger faz... Verifica se determinado programa está ativo(como o internet explorer, por exemplo) e grava tudo que é feito nele...
MARCELODAVID 19/06/2012 12:35:04
#404453
é por aí, mas minha intenção não é essa
Esclarecendo: Tenho um banco de dados em Access, esse possui senha para abri-lo.
Preciso no entanto de abrir o banco de dados mas sem passar a senha para o usuário.
Fiz alguns testes aqui com o sendkey no VB.NET e no VB/VBA Ele abre o banco e joga a senha e
a tecla enter. O banco abre perfeito. Mas se o usuário abrir o bloco de notas, a senha será jogada lá e ficará exposta para ele ver. se eu conseguir executar o sendkey apenas se o banco de dados estiver ativo pedindo a senha, o usuário não terá como descobri-la. Mas não sei como indentificar se um aplicativo está ou não em foto/ativo.
KERPLUNK 19/06/2012 14:00:12
#404462
Você vai usar esse arquivo access como banco de dados?
MARCELODAVID 19/06/2012 14:09:56
#404463
Não será usado como banco de dados. é apenas para abrir
esse arquivo accdb protegido por senha e assim o usuário
fazer uma verificação direto na tabela. Esse arquivo Access não faz
parte da aplicação. Ele é o resultado da exportação
de um outro aplicativo. Mas é muito importante que o
usuário apenas tenha acesso a esses dados quando
meu aplicativo abri-lo.
KERPLUNK 19/06/2012 14:12:49
#404464
Bem, você pode ver esses dados usando uma conexão de dados normal... usando a connection string abaixo:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Jet OLEDB:Database Password=MyDbPassword;
KURTGU 19/06/2012 14:17:07
#404466
Cara tudo que se parece ou e keylogger dificilmente voce conseguira algo aqui no vb.mania... Procure no google keylogger vb.net ou verificar de processos vb.net...


Não por que o pessoal nao sabe ou nao quer te ajudar e que as vezes muitas pessoas usam isso pra fazer captura de teclado entre outras coisas....nao estou dizendo que voce ira fazer isso...
MARCELODAVID 19/06/2012 14:19:05
#404467
Não será usado como banco de dados. é apenas para abrir
esse arquivo accdb protegido por senha e assim o usuário
fazer uma verificação direto na tabela. Esse arquivo Access não faz
parte da aplicação. Ele é o resultado da exportação
de um outro aplicativo. Mas é muito importante que o
usuário apenas tenha acesso a esses dados quando
meu aplicativo abri-lo.
KERPLUNK 19/06/2012 14:33:32
#404468
Citação:

Não será usado como banco de dados. é apenas para abrir
esse arquivo accdb protegido por senha e assim o usuário
fazer uma verificação direto na tabela. Esse arquivo Access não faz
parte da aplicação. Ele é o resultado da exportação
de um outro aplicativo. Mas é muito importante que o
usuário apenas tenha acesso a esses dados quando
meu aplicativo abri-lo.



Se o usuário vai [Ô]fazer uma verificação direto na tabela[Ô], é uma consulta. Mesmo que o arquivo não faça parte da sua aplicação, o correto é conectar com ele e consultar a tabela, mostrando somente os dados para o usuário. Não tente imaginar uma aplicação como um [Ô]robozinho[Ô] que faz o que você faria fisicamente.
MARCELODAVID 19/06/2012 14:36:39
#404469
Obrigado, vou fazer os testes e posto o resultado. Grato.
Tópico encerrado , respostas não são mais permitidas