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