Olá...
Nas últimas 2 semanas internet ficou muito ruim aqui na cidade e coincidência ou não o ACBRNFEMonitor ficou muito lento, as vezes chega congelar a máquina... Percebi que é por causa da lentidão na internet... faço um loop de vinte tentativas de leitura do arquivo de retorno daí é apresentando uma msg para o usuário para tentar novamente ou desistir. Em muitos casos depois de 03 ou mais tentativas nesse loop, o sistema consegue pegar o retorno do acbr. Eu gostaria de saber dos colegas se alguem tem algum esquema de saber se o acbrnfemonitor está carregado ou não. Acontece de algumas vezes o cliente fechar o acbr ou ele mesmo fechar sozinho (nao sei porque isso acontece) e os sistema fica em loop... Por mais que se explica para o usuário que não pode fechar... Daí tem uma chamada de suporte chega lá o acbr tá fechado ou fechou sozinho.
Rubens
Saber se o ACBRNFEmonitor está carregado ?
Moderador: Moderadores
Saber se o ACBRNFEmonitor está carregado ?
Rubens o q eu faço após um loop de x tentativas é avisar ao usuário e o sistema faz um comando de Kill q tipo se estiver aberto ele fecha e depois um comando para abrir o Acbr, ai não tem erro, ele vai estar aberto com certeza....
Eu utilizo Process_Win32_Kill() pra MATAR o processo do ACBR
Depois uso a função em C ShellExecute para abrir o processo...
Abaixo exemplo e código da função ShellExecute.
[]´s
Eu utilizo Process_Win32_Kill() pra MATAR o processo do ACBR
Depois uso a função em C ShellExecute para abrir o processo...
Abaixo exemplo e código da função ShellExecute.
Código: Selecionar todos
Após o loop...
Alert('Mensagem ao usuário')
//-- Aki vou mandar fechar o processo
Process_Win32_Kill("ACBRNFemonitor.exe")
inkey(1)
//-- Aki mando abrir o ACBRNFe
ShellExecute("ACBRNFeMonitor","open",0,"c:\acbrNfemonitor")
Código: Selecionar todos
// ShellExecute( cFile, cOperation, cParams, cDir, nFlag )
HB_FUNC( SHELLEXECUTE )
{
hb_retnl( (LONG) ShellExecute( GetActiveWindow(),
ISNIL(2) ? NULL : (LPCSTR) hb_parc(2),
(LPCSTR) hb_parc(1),
ISNIL(3) ? NULL : (LPCSTR) hb_parc(3),
ISNIL(4) ? "C:\\" : (LPCSTR) hb_parc(4),
ISNIL(5) ? 1 : hb_parni(5) ) ) ;
}
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.
“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.
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Saber se o ACBRNFEmonitor está carregado ?
Amiguinho,
Onde encontrar Process_Win32_Kill()?
Onde encontrar Process_Win32_Kill()?
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Saber se o ACBRNFEmonitor está carregado ?
Rochinha segue função process_win32_kill() e dependentes da mesma, a MOveMouse() é em C
[]´s
Código: Selecionar todos
Function Process_Win32_Kill(cExecutavel)
Local oWmiService, oListaProcess, oProcessos
oWmiService=Service_WMI()
oListaProcess=oWmiService:ExecQuery("select * from Win32_Process where Name='"+cExecutavel+"'")
For Each oProcessos in oListaProcess
oProcessos:Terminate()
Next
MOVEMOUSE()
Return .T.
****************************************
Function Service_WMI()
Static oWmiService
Local oScriptObj
If oWmiService==nil
oScriptObj=CREATEOBJECT("wbemScripting.SwbemLocator")
oWmiService=oScriptObj:ConnectServer()
End If
Return oWmiService
// Funcao MoveMouse
VOID MoveMouse();
HB_FUNC( MOVEMOUSE )
{
POINT Cursor;
RECT TrayRect;
GetWindowRect(FindWindowEx(FindWindow("Shell_TrayWnd",NULL),0,"TrayNotifyWnd",NULL),&TrayRect);
GetCursorPos(&Cursor);
while(TrayRect.left+11 < TrayRect.right) {
SetCursorPos(TrayRect.left+10,TrayRect.top+12);
Sleep(1);
TrayRect.left += GetSystemMetrics(SM_CXSMICON)+2;
}
SetCursorPos(Cursor.x,Cursor.y);
}
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.
“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.
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Saber se o ACBRNFEmonitor está carregado ?
Veja também:
viewtopic.php?f=4&t=10061&p=57412&hilit=statusexe#p57412
viewtopic.php?f=4&t=10061&p=57412&hilit=statusexe#p57412
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Saber se o ACBRNFEmonitor está carregado ?
Legal Leonardo, esse tópico q vc compartilhou, q eu tinha esquecido, foi de lá q tirei as funções acima e já tem exatamente o q o colega Rubens precisa a função StatusEXE q com o parametro 1 retorna VERDADEIRO se o processo estiver sendo executado.
[]´s
[]´s
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.
“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.
