El jue, 6 may 2021 a las 20:18, Héctor J. Benítez Corredera (<
facturasxebo...@gmail.com>) escribió:

> winpath = os.path.join(os.environ['SystemRoot'], "SysNative", "cmd.exe") #
> Esta es la que debería funcionar en 32 bits
>
> #winpath = os.path.join(os.environ['SystemRoot'], "system32", "cmd.exe")
> Esta es la que funciona en 64 bits pero no en 32 bits
>
> #winpath = os.path.join(os.environ['SystemRoot'], "SysWOW64", "cmd.exe")
> No funciona
>
>
>
> ejecutaAdmin(winpath, "/c" + "sfc /scannow" + "&pause")
>
>

Esta parte la ejecuta python, que es de 64 bits. No necesita emular nada,
por lo que siempre accede a "system32".

Creo que estás confundido con el funcionamiento de las aplicaciones 32 bits
en win 64 bits. Todas las aplicaciones están programadas para acceder a
system32, sean de 32 ó 64 bits. Es el sistema operativo quien deriva luego
las aplicaciones de 32 bits a sysWOW64 de forma transparente. SysNative
sería un truco para que las aplicaciones de 32 bits accedan a las DLLs de
64 bits que de verdad se encuentran en system32. Ni python ni cmd.exe se
ejecutan en modo 32 bits; es NVDA la que entra en modo emulación 32 bits
cuando es ejecutada por una CPU x64.

Dicho esto, no entiendo qué problema tienes para ejecutar NVDA. A todos los
efectos, se debería comportar como una aplicación de 64 bits normal
¿Da algún error o no funciona como se espera?



-- 
Hyperreals *R  "Quarks, bits y otras criaturas infinitesimales":
https://blog.ch3m4.org
Buscador Python Hispano: http://busca.ch3m4.org
<https://blog.ch3m4.org/pages/busqueda-python-es/>
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es

Responder a