Página 1 de 1

Função para Fechar Aplicativo Windows Aberto?

Enviado: 13 Dez 2009 22:03
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

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

Enviado: 14 Dez 2009 11:12
por rmg
Veja se este link atende ao que você está querendo:
https://pctoledo.org/forum/viewto ... hilit=kill

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

Enviado: 14 Dez 2009 14:51
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++.

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

Enviado: 14 Dez 2009 17:00
por fladimir
Obrigado colegas vou testar...

Grato e Sucesso a Tds!!!!


:)Pos

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

Enviado: 15 Dez 2009 12:29
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.