sirve que para flex actionscript-3 air

flex - adobe air para que sirve



¿Puedes acceder al registro de Windows desde Adobe Air? (8)

(s / N)

Editar: el acceso de solo lectura está bien.


¿Estás tratando de determinar si el usuario es administrador o no?

Si es así, podrías graduar el nombre de usuario con "File.userDirectory.name".

Y creo que para averiguar si el usuario es un administrador, probablemente podría intentar acceder a un archivo que requiere privilegios de administrador (tal vez intente escribir un archivo en Windows / System32). Si el acceso al archivo falla, probablemente pueda suponer que el usuario tiene una cuenta limitada.


En teoría, podría modificar los archivos de registro reales, pero desaprobaría esa idea.


Si está dispuesto a obligar al usuario a instalar también otra aplicación, puede escribir un pequeño servicio de Windows C # o C ++ que simplemente abra un socket que proporcione algún tipo de protocolo para acceder al registro. Luego, en AIR puede usar la clase Socket para enviar mensajes a / desde el servicio C # que arrojaría los resultados a la aplicación AIR.

Cuando la aplicación se carga puede intentar conectarse al Socket, y si se rechaza la conexión, puede solicitar al usuario que descargue / instale el servicio.

En cuanto al acceso directo al registro, estoy bastante seguro de que Adobe no lo permitiría desde AIR.


Tenga mucho cuidado si decide crear un servidor de socket que escuche los comandos de registro. Posiblemente esté creando un agujero de seguridad y los firewalls personales de los usuarios pueden interferir en términos de usabilidad.


Si puedes, estaría horrorizado.

¿Por qué estarías horrorizado? Air es una plataforma de escritorio, y tener acceso a las API del sistema operativo (como el acceso al registro) tiene mucho sentido.

Una vez dicho esto, no es compatible ahora (y como Adobe parece estar muy centrado en Mac, dudo que alguna vez se agregue).

Me he decidido por tomar el nombre de los usuarios del nombre del directorio de usuarios

Usar File.userDirectory.name funcionará en la mayoría de los casos, pero parece una implementación muy frágil, depende del sistema operativo que mantenga la convención de tener el nombre de usuario como su directorio. Puedo pensar en algunas cosas posibles que podrían romperlo (jugando con TweakUI, etc.).


Un poco tarde, pero un cliente me pidió que leyera algunos valores del registro cuando el proyecto estaba casi terminado. Si hubiera más de estos tipos de deseos, nunca hubiera elegido AIRE. Pero encontré una buena extensión de FluorineFx y, al ampliarla, ahora puedo leer los valores de cadena y dword del registro. Solo Windows: http://aperture.fluorinefx.com/


No he intentado esto todavía, pero creo que encontré una solución alternativa.

Adobe AIR no puede escribir en el Registro de Windows, pero puede, sin embargo, iniciar un proceso nativo en AIR 2. Aquí hay una publicación de blog que muestra cómo hacerlo: http://www.adobe.com/devnet/air/flex/quickstart /articles/interacting_with_native_process.html

Ahora, en Windows, puede modificar el registro de Windows con archivos .reg. Los archivos .reg son simplemente archivos de texto que regedit.exe lee. Entonces, en teoría, puede escribir un archivo .reg en el sistema de archivos, luego, ejecute regedit.exe con el archivo .reg pasado y ... ¡TADA! ¡Acabas de modificar el registro de Windows desde tu aplicación de AIR!

Para leer el valor, puede usar la función de exportación de regedit para escribir en un archivo reg y leer desde el archivo reg. Detalles de las opciones de regedit: http://www.robvanderwoude.com/regedit.php

Aquí hay algunos recursos adicionales:
Sintaxis del archivo .reg: http://support.microsoft.com/kb/310516
escriba al archivo con AIR: http://www.adobe.com/devnet/air/flex/articles/exploring_file_capabilities.html


Aquí hay una muestra de la modificación del Registro de Windows en Adobe Air usando NativeProcess y Python. ¡Así que puede agregar, borrar o leer teclas solo con una sola línea de código!

Descargar: Adobe Air Registry Modifier en Github