Faça com que os programas do Windows sejam iniciados quantas vezes forem necessárias, evitando limitações

2

Algumas aplicações não podem ser iniciadas mais de uma vez de cada vez.

Existe alguma maneira de contornar isso? E fazer com que esses programas "pensem" que não há outras instâncias deste aplicativo funcionando?

Windows 7 32 bits

    
por bakytn 30.09.2011 / 08:35

1 resposta

4

Em geral, não.

Alguns aplicativos fazem isso como uma medida de conveniência (eles supõem, por exemplo, que você não deseja várias instâncias de um aplicativo media player) e alguns por motivos técnicos. Em geral, é uma má idéia tentar contornar essa regra (e eu não estou ciente de nenhum aplicativo que tente fazer isso) - um desenvolvedor de software pode fazer grandes suposições sobre a acessibilidade de arquivos se ele ou ela tiver a garantia de que nenhum outro processo está usando-os.

Por exemplo, se meu programa garantir que apenas um processo possa ser executado por vez, ele poderá adquirir um bloqueio de leitura / gravação em determinados arquivos do usuário, arquivos de configuração etc. Se um segundo processo tiver permissão para inicializar, ele falhará se tentar adquirir seu próprio bloqueio de leitura / gravação em arquivos já bloqueados. Quando isso acontece, causará falhas e comportamento indefinido em qualquer segunda cópia que começar.

Para conseguir isso, você teria que ter executáveis diferentes para cada cópia que queria executar, e cada um teria que ser recompilado com um ID de processo diferente, presumindo que o programa que você está tentando executar tem um ID exclusivo, que é comum.

A única maneira de isso ser realmente realizado é pela virtualização - mas isso não está realmente executando 2 cópias de um programa - está executando uma cópia em dois computadores separados.

    
por 30.09.2011 / 09:55

Tags