Can you access the windows registry from Adobe Air?

前端 未结 8 1430
萌比男神i
萌比男神i 2021-02-09 00:55

(y/N)

Edit: Read-only access is fine.

相关标签:
8条回答
  • 2021-02-09 01:07

    If you can I'd be horrified.

    Why would you be horrified? Air is a desktop platform, and having access to the OS's APIs (such as registry access) makes plenty of sense.

    That being said, it isn't supported now (and as Adobe seem to be very Mac-centric, I doubt it will ever be added).

    I have settled on grabbing the users name from the name of the user directory

    Using File.userDirectory.name will work in most cases, but it seems like a very fragile implementation, it relies on the OS maintaining the convention of having the username as their directory. I can think of a few possible things that might break it (playing with TweakUI etc).

    0 讨论(0)
  • 2021-02-09 01:07

    Are you trying to determine if the user is an administrator or not?

    If so you could grad the username by with "File.userDirectory.name".

    And I think to figure out if the user is an administrator you could probably try to access a file that requires administrator privileges (maybe try writing a file to Windows/System32). If the file access fails you could probably assume that the user is under a Limited account.

    0 讨论(0)
  • 2021-02-09 01:10

    You could theoretically modify the actual registry files, but I would highly discourage that idea.

    0 讨论(0)
  • 2021-02-09 01:10

    Be very careful if you decide to create a socket server that listens for registry commands. You are potentially creating a security hole and users' personal firewalls may get in the way in terms of usability.

    0 讨论(0)
  • 2021-02-09 01:13

    I haven't tried this yet, but I think I've found a workaround.

    Adobe AIR cannot write to Windows Registry, but you can, however, launch a native process in AIR 2. Here's a blog post that shows how to do that: http://www.adobe.com/devnet/air/flex/quickstart/articles/interacting_with_native_process.html

    Now, on Windows, you are able to modify the Windows registry with .reg files. .reg files are just plain text files that's read by regedit.exe. So in theory, you can write a .reg file to the file system, then launch regedit.exe with the .reg file passed in and...TADA! You just modified Windows registry from your AIR app!

    To read value, you can use regedit's export function to write to a reg file and read from the reg file. Details to regedit's options: http://www.robvanderwoude.com/regedit.php

    Here are some additional resources:
    .reg file syntax: http://support.microsoft.com/kb/310516
    write to file with AIR: http://www.adobe.com/devnet/air/flex/articles/exploring_file_capabilities.html

    0 讨论(0)
  • 2021-02-09 01:18

    Here is a sample of modifying Windows Registry in Adobe Air using NativeProcess and Python. So you can Add, Delete or Read keys by only a single line of code !!

    Download: Adobe Air Registry Modifier on Github

    0 讨论(0)
提交回复
热议问题