Quais são as principais diferenças entre a programação para Windows XP e para Vista?

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

  •  09-06-2019
  •  | 
  •  

Pergunta

Do ponto de vista do desenvolvedor de aplicativos de desktop, há alguma diferença entre desenvolver para Windows XP e desenvolver para Windows Vista?

Foi útil?

Solução

Interface de usuário

Olhando para o Diretrizes de experiência do usuário do Windows Vista você pode ver que eles mudaram muitos elementos da interface do usuário, dos quais você deve estar ciente.Algumas coisas importantes a serem observadas:

64 bits

O Vista tem uma edição de 64 bits e, embora o XP também tenha, é mais provável que seus usuários usem o Vista 64 do que o XP 64.Agora você tem que lidar com:

UAC

Controle de conta de usuário afeta enormemente as permissões padrão que seu aplicativo possui ao interagir com o sistema operacional.

Novas APIs

Existem novas APIs voltadas para novos métodos de construção de aplicativos ou para permitir novas funcionalidades:

Instaladores

Como as instalações só podem usar tempos de execução comuns após a conclusão de uma transação, ações personalizadas vai falhar se sua dll de ação personalizada exigir os tempos de execução do Visual C++ acima do CRT do VS 2005 (não SP1).

Outras dicas

Não sempre suponha que seu usuário tenha acesso a certas áreas principais do disco (ou seja,arquivos de programas, diretório do Windows, etc.).Em vez disso, a conta de usuário padrão só poderá gravar em uma pequena seção dos dados do aplicativo.Além disso, eles não poderão gravar em áreas globais do registro - apenas na seção do usuário atual.

É claro que você pode aumentar seus privilégios, mas isso por si só é uma tarefa.

Geralmente a programação para o Vista é igual à do XP, são apenas as novas restrições de conta com as quais você deve ter cuidado.

Dê uma olhada nesta página para tornar seu aplicativo "consciente do UAC"

http://www.codeproject.com/KB/vista-security/MakingAppsUACAware.aspx

Pode haver, mas é uma escolha consciente que você faz como desenvolvedor.Você pode usar novidades do Vista, como UAC, CommandLinks, Aero e assim por diante.Mas você não precisa (até mesmo o UAC pode ser programado - apenas não faça nada que precise de privilégios de administrador).Se você optar por ignorar todas as coisas do Vista, não haverá absolutamente nenhuma diferença entre os dois.

Se você quiser incluir essas coisas em seu aplicativo, isso faz diferença.Mas eu diria que não é um grande problema.E se você abstrair as diferenças (por exemplo, escrever sua própria função que mostra um TaskDialog para o Vista, mas que simplifica a entrada fornecida em um MesssageBox no XP), então você estará escrevendo apenas em seu próprio código, e as diferenças parecerão quase nada.

Além disso, muitas das novidades do Vista (por exemplo, UAC ou Aero) são coisas com as quais você se preocupa uma vez, quando cria a primeira funcionalidade que o utiliza, faz com que funcione e nunca mais pensa nisso enquanto estiver desenvolvendo o aplicativo.

De longe, a parte mais dolorosa de mover um aplicativo do XP para o Vista (do meu ponto de vista) é lidar com os inúmeros serviços e itens IPv6 que usam portas que antes eram gratuitas e lidar com a transição de provisionamento sem fio -> WiFi nativo.

O assunto do UAC é basicamente um ponto discutível;há muito pouco que o desenvolvedor de aplicativos precisa fazer.

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