Note that 64-bit Windows does not support running 16-bit Windows-based applications.
The primary reason is that handles have 32 significant bits on 64-bit Windows.
Therefore, handles cannot be truncated and passed to 16-bit applications without loss of data.
No Windows, os programas passam "alças" para o sistema operacional e vice-versa (que são números que o sistema operacional usa para identificar de forma exclusiva um recurso específico, como uma janela).
Para suportar programas de 16 bits, o Windows somente de 32 bits gera alças com 16 bits significativos - os 16 bits superiores são ignorados pelo sistema operacional (embora os programas não devam ser executados) vantagem deste fato). Portanto, nenhum programa pode interagir com mais de 2 16 objetos, o que na verdade é um pouco baixo.
No entanto, para melhorar isso, o Windows de 64 bits aumentou o número de bits significativos em um identificador para 32. Mas agora isso significa que as alças não podem ser passadas para programas de 16 bits sem perda de informações. Portanto, os programas de 16 bits não podem ser executados no Windows de 64 bits.