2008-08-06 4 views
7

(y/N)Adob​​e AirからWindowsのレジストリにアクセスできますか?

編集:読み取り専用アクセスは問題ありません。

+0

アプリのバックグラウンドダウンローダである、と私は現在、レジストリに格納されたユーザー名と役割を、取得するいくつかの方法が必要です。私は読み取り専用アクセスでレジストリファイルにアクセスできると思いますが、明らかに、Jarinが述べたように、試して解析するのは非常識なことでしょう。私はユーザーディレクトリの名前からユーザー名を取得し、役割を取り戻すためにサーバーにWebメソッドを作成することに決めました。 C#は創造的なアイディアでした。 – Shawn

+0

私は恐怖を感じることができます。 – sparkes

答えて

2

他のアプリケーションをインストールすることをユーザーに強制する場合は、レジストリにアクセスするための何らかのプロトコルを提供するSocketを開くC#またはC++ Windowsサービスを作成することもできます。次に、AIRでは、Socketクラスを使用して、結果をAIRアプリケーションに返すC#サービスとの間でメッセージを送受信できます。

アプリが読み込まれると、Socketへの接続を試みることができます。接続が拒否された場合は、サービスのダウンロード/インストールを促すメッセージが表示されます。

レジストリに直接アクセスすると、私はAdobeがAIRから許可しないと確信しています。

0

理論的には実際のレジストリファイルを変更することはできますが、そのアイデアはあまり避けてください。

1

ユーザーが管理者であるかどうかを確認しようとしていますか?

「File.userDirectory.name」でユーザ名を変更することができます。

ユーザーが管理者権限を必要とするファイルにアクセスしようとしている可能性があります(Windows/System32にファイルを書き込もうとしたかもしれません)。ファイルへのアクセスが失敗した場合、おそらくユーザーが制限付きアカウントの下にいると想定できます。

0

レジストリコマンドをリッスンするソケットサーバーを作成する場合は、十分注意してください。あなたはセキュリティホールを潜在的に作り出しており、ユーザーのパーソナルファイアウォールは使い勝手の面で邪魔になるかもしれません。

2

私は恐怖を感じることができます。

なぜあなたは恐怖を感じますか? Airはデスクトッププラットフォームであり、OSのAPI(レジストリアクセスなど)にアクセスすることは十分な意味を持ちます。

言われているように、現在はサポートされていません(アドビはMac中心的なようですが、これは追加される予定です)。

私はFile.userDirectory.nameは、ほとんどの場合に動作します使用してユーザーディレクトリ

の名前からユーザー名をつかむに落ち着いてきたが、それは非常に壊れやすい実装のように思える、それが依存していますOS上でユーザ名をディレクトリとして持つという規約を維持しています。私はそれを壊すかもしれないいくつかの可能性のある事を考えることができます(TweakUIなどで遊ぶ)。

1

少し遅れましたが、プロジェクトがほぼ終了したときにクライアントからレジストリから値を読み取ることができました。これらのタイプの希望があれば、私はAIRを決して選んでいないでしょう。しかし、私はFluorineFxから素敵な拡張を見つけました。これを拡張することで、レジストリから文字列とdwordの値を読み取ることができます。 Windowsのみ:http://aperture.fluorinefx.com/

7

私はこれをまだ試していませんが、回避策を見つけたと思います。

Adob​​e AIRはWindowsレジストリに書き込むことはできませんが、AIR 2ではネイティブプロセスを起動できます。http://www.adobe.com/devnet/air/flex/quickstart/articles/interacting_with_native_process.html

Windowsでは、.regファイルを使用してWindowsレジストリを変更することができます。 .regファイルは、regedit.exeによって読み込まれる単なるテキストファイルです。だから理論的には、.regファイルをファイルシステムに書き込んで、.regファイルが渡されたregedit.exeを起動して... TADA!あなたはAIRアプリケーションからWindowsレジストリを変更しました!

値を読み取るには、regeditのエクスポート関数を使用してregファイルに書き込み、regファイルから読み取ることができます。 regeditとのオプションの詳細:ここでhttp://www.robvanderwoude.com/regedit.php

は、いくつかの追加リソースは次のとおりです。
.regファイルの構文:http://support.microsoft.com/kb/310516
AIRのファイルに書き込む:ここhttp://www.adobe.com/devnet/air/flex/articles/exploring_file_capabilities.html

1

は、NativeProcessオブジェクトを使用してAdobe AIRでWindowsレジストリを変更するサンプルですとPython。だからあなたは、コードの1行だけでキーを追加、削除、または読むことができます!

ダウンロード:Adobe Air Registry Modifier Githubの

+0

リンクが壊れています。 – giorgian

+0

@giorgian linkが更新されました –

+0

https://github.com/yaa110/Adobe-Air-Registry-Modifier –