2009-10-27 10 views
6

Se parece que especifica el indicador KEY_WOW64_64KEY (reference) al acceder a una clave de registro en virtud de 32 bits Windows XP no tiene ningún efecto - es decir, se produce ningún error, y se abre la llave como si no hubiera tenido la conjunto de banderas.¿KEY_WOW64_64KEY tiene algún efecto en Windows de 32 bits?

Sé que Windows 2000 arroja un error cuando se encuentra con esta bandera.

Quiero asegurarme de que mi aplicación sea compatible con tantas versiones de Windows (2k y posteriores) como sea posible.

¿Hay una referencia de Microsoft que especifique cada versión del comportamiento de Windows para esta marca? En particular, me gustaría algo que valide mi suposición de que no tiene ningún efecto en Windows post-2k de 32 bits.

Respuesta

3

No puedo hablar con Windows 2000 o XP, pero sé que en Vista y arriba, KEY_WOW64_64KEY abre la clave de registro en el registro de 64 bits si es un sistema operativo de 64 bits y el de 32 bits si es un sistema operativo de 32 bits.

0

Además, normalmente debería evitar esta clave: WOW64 proporciona una "ilusión" bastante completa para las aplicaciones de 32 bits; simplemente escriba su aplicación correctamente en 32 bits sin esta bandera, y todavía funcionará en WOW64. No intente utilizar este indicador (y otros mecanismos) para que sea "compatible con 64 bits".

+6

Necesito detectar si ciertas otras aplicaciones están instaladas, y dónde, y tienen versiones de 64 bits. – Blorgbeard

+0

En ese caso, probablemente debería escribir su aplicación como de 64 bits, luego inspeccione el Wow6432Node si es necesario, en lugar de forzarse a pensar en cada acceso de archivo/reg/ruta, "¿Debería importarme la redirección?" –

+0

De acuerdo, pero la conversión y recompilación de una gran base de código Delphi7 a 64 bits no es realmente una opción en este momento: P – Blorgbeard

2

He probado en Windows XP 32 bit, y parece funcionar bien.

Cuestiones relacionadas