É possível definir o modo de compatibilidade com o Windows de um aplicativo em tempo de execução?

StackOverflow https://stackoverflow.com/questions/1715626

  •  19-09-2019
  •  | 
  •  

Pergunta

Estamos usando uma biblioteca parte 3 que às vezes não funciona corretamente em Win7. Sabemos como configurar isso no momento da instalação, mas também gostaria de considerar fixando-a em tempo de execução. Isso é possível, ou não nesse contexto tem que ser definido antes do lançamento? (Eu acho que há uma quase nulas chance, mas percebi que eu iria pedir de qualquer maneira)

(aplicação C ++ - não que realmente importa)

Foi útil?

Solução

As configurações de compatibilidade não pode ser alterado uma vez que o aplicativo está sendo executado.

No entanto, o que você poderia fazer é ter um lançador de aplicação que garante que as configurações de compatibilidade estão corretas e, em seguida, lança a sua aplicação. Claro, você precisa ter certeza da aplicação lançador não tem problemas de compatibilidade.

Outras dicas

As configurações de compatibilidade são apenas pré-processador macros que bloqueiam partes da API Win32 nos arquivos de cabeçalho que não estão disponíveis na plataforma selecionada.

No entanto, porque toda a API é fornecido pelo DLLs você pode determinar qual sistema operacional está sendo executado em tempo de execução e, em seguida, obter os pontos necessários entrada plataforma específica utilizando LoadLibrary e GetProcAddress .

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