Windows API CodePack Compatibilidade para trás no Windows XP
-
26-09-2019 - |
Pergunta
Eu não tenho uma máquina XP à mão. Se eu usar o CodePack da API do Windows para fazer algo novo no Vista/Win7 (por exemplo, "TaskDialog") em C#, como ele lida com a execução em máquinas Windows XP?
Se eu usar o codepack, fiz efetivamente fazer meu aplicativo suportar apenas o Vista e as versões posteriores do Windows?
Solução
Se você olhar para "TaskDialog.cs", descobrirá que o construtor do TastDialog inclui as seguintes linhas:
// Throw PlatformNotSupportedException if the user is not running Vista or beyond
CoreHelpers.ThrowIfNotVista();
Se você incluir apenas uma referência ao conjunto do Windows API Code Pack, você ficará bem. Mas o uso de um recurso que não está presente no sistema operacional atualmente executando seu aplicativo lançará uma exceção. Para verificar se um recurso é seguro para ligar (ou seja, suportado no sistema operacional atual), a maioria das classes inclui uma estática IsPlatformSupported
propriedade.
Então você pode verificar TaskDialog.IsPlatformSupported
primeiro e ligue MessageBox.Show()
Em vez disso, se o seu sistema operacional não suportar TaskDialogs.