Função para Fechar Aplicativo Windows Aberto?

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Função para Fechar Aplicativo Windows Aberto?

Mensagem por fladimir »

Pessoal seguinte tem alguma função no xHarbour ou em C q possa compilar junto no meu sistema para poder verificar se um determinado programa esta rodando no Windows e Fechar o mesmo?

Exemplo eu trabalho com o ACBRMonitor.EXE eu gostaria de verificar se ele esta Rodando.
E se quiser uma outra função para fechar ele.

Sucesso!!!

:)Pos
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
rmg
Usuário Nível 1
Usuário Nível 1
Mensagens: 27
Registrado em: 02 Mar 2006 11:54
Localização: Ipanema/MG

Re: Função para Fechar Aplicativo Windows Aberto?

Mensagem por rmg »

Veja se este link atende ao que você está querendo:
https://pctoledo.org/forum/viewto ... hilit=kill
Analista de TI - Grupo Colombo<br>
Harbour, xHarbour, C, C++
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Função para Fechar Aplicativo Windows Aberto?

Mensagem por Maligno »

Para matar a aplicação, já foi indicado. Agora, para saber quantas instâncias dessa aplicação existe, fiz o código abaixo, que só precisará passar pela adaptação do [x]Harbour.
Mas note que a função ExtractFileName(), como é da biblioteca do C++ Builder, deve ser substituída por alguma função equivalente da biblioteca do [x]Harbour.

Código: Selecionar todos

int GetExeRunningCount(const String ExecName) {
	PROCESSENTRY32 Entry;
	HANDLE         hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
	int            Count = 0;
	Entry.dwSize = sizeof(PROCESSENTRY32);

	Process32First(hSnap,&Entry);
	do {
		if (ExecName.LowerCase() == ExtractFileName(Entry.szExeFile).LowerCase()) Count++;
	} while(Process32Next(hSnap,&Entry));
	return Count;
}
Talvez o argumento, como objeto da classe String, também precise ser substituído. Se bem que essa classe, se não me falha a memória, é parte da biblioteca padrão de C++.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Re: Função para Fechar Aplicativo Windows Aberto?

Mensagem por fladimir »

Obrigado colegas vou testar...

Grato e Sucesso a Tds!!!!


:)Pos
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
TerraSoftware
Usuário Nível 3
Usuário Nível 3
Mensagens: 353
Registrado em: 28 Jul 2004 13:14
Localização: Cianorte-PR
Contato:

Re: Função para Fechar Aplicativo Windows Aberto?

Mensagem por TerraSoftware »

Caros colegas. Visto que existe dois post tratando basicamente do mesmo assunto, vou criar um novo tópico, mais especifico, para ajudar a todos que tem o mesmo problema. Vai chamar-se:

"Finalizando Aplicativo Windows"

Obrigado a todos que ajudaram até aqui. :D

Se algum Moderador puder travar este post, melhor.
www.sisterra.com.br
xHarbour 1.0.0 - Bcc 6.3 - Gtwvw/Hwgui
DbfCdx/MySql
Responder