Encerrar aplicação após iniciar outro EXE com o RUN
Enviado: 10 Fev 2017 17:50
Boa tarde!
Estou tentando fechar o programa que executa o comando RUN para executar um EXE específico. Para isso eu tentei utilizar as funções getCurrentProcessID() e terminateProcess, da seguinte forma:
No programa que vai chamar o exe com o run, eu criei uma função que grava o id do processo em um arquivo .ini. Assim:
E no programa que foi executado pelo comando RUN na outra aplicação, ao iniciar esse EXE eu leio o ini e uso a função TerminateProcess ( [ nProcessID ] , [ nExitCode ]. Assim:
Sendo que ao executar a função terminateProcess(id,0) ela encerra o processo(exe) que a utilizou e não o processo especificado pelo ID que foi salvo no teste.ini. Esse foi um meio que pensei em fazer o que preciso, não consegui encontrar nenhum outro que atenda minhas necessidades. Alguém sabe como me ajudar?
Atenciosamente,
Cisino Junior.
Estou tentando fechar o programa que executa o comando RUN para executar um EXE específico. Para isso eu tentei utilizar as funções getCurrentProcessID() e terminateProcess, da seguinte forma:
No programa que vai chamar o exe com o run, eu criei uma função que grava o id do processo em um arquivo .ini. Assim:
Código: Selecionar todos
// =============================================================================
STATIC Function getProcessId() // Retorna id do processo do admPainel em memória
// =============================================================================
local processID := alltrim(str(GetCurrentProcessID())) // -> retorna id do processo atual
local cFileName:="teste.ini",
BEGIN INI FILE cFileName
SET SECTION "idInfo" ENTRY "id" TO processID
END INI
Return nil
Código: Selecionar todos
// =============================================================================
Function readID() // le id do admPainel salvo no ini e mata o processo
// =============================================================================
local cFileName:="painel.ini", processId:=''
If file(cFileName)
BEGIN INI FILE cFileName
GET processId SECTION "idInfo" ENTRY "id"
END INI
fErase(cFileName)
EndIf
terminateProcess(id,0)
Return mil
Atenciosamente,
Cisino Junior.