Pergunta

noto um aplicativos lidar quando eu uso a função shell para abri-lo. Eu, então, usar essa alavanca para fechar o aplicativo mais tarde. No entanto, o usuário também pode fechar o outro aplicativo próprio. Pode que pega em seguida ser reutilizado por janelas de modo que quando eu uso essa alça eu fecho um processo diferente. Se for possível é provável?

Foi útil?

Solução

Não, você não precisa se preocupar com isso. O identificador retornado por, digamos, OpenProcess, ShellExecuteEx () ou CreateProcess mantém o objeto de processo vivo. Isso é como é possível chamar GetExitCodeProcess () para obter o código de saída após o processo é encerrado.

O objeto não são liberados até o último punho nele está fechado. Oposto do conselho anteriormente proferida esta discussão, é muito importante que você chamar CloseHandle () ou você vai ter um vazamento.

Outras dicas

Você pode esperar por um identificador de processo para descobrir quando ele é encerrado.

WaitForSingleObject (hProcess, INFINITE);

Uma vez que este retorno, você sabe o processo foi encerrado e que você não precisa para a fechar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top